searchData is now using workers, fixed random question letter in question

This commit is contained in:
mrfry
2020-10-14 12:44:31 +02:00
parent 63b08244dc
commit 6c781eba97
5 changed files with 52 additions and 95 deletions
+30 -21
View File
@@ -26,7 +26,7 @@ const dataFile = './publicDirs/qminingPublic/data.json'
const recDataFile = './stats/recdata'
const logger = require('../utils/logger.js')
const { searchData } = require('../utils/classes.js')
const { searchData, createQuestion } = require('../utils/classes.js')
const idStats = require('../utils/ids.js')
const utils = require('../utils/utils.js')
const { addQuestion, getSubjNameWithoutYear } = require('./classes.js')
@@ -72,25 +72,32 @@ function ProcessIncomingRequest(recievedData, qdb, infos, dryRun, user) {
logger.DebugLog('recievedData JSON parsed', 'actions', 1)
logger.DebugLog(data, 'actions', 3)
let allQLength = data.quiz.length
const questionSearchPromises = []
data.quiz.forEach((question) => {
logger.DebugLog('Question:', 'actions', 2)
logger.DebugLog(question, 'actions', 2)
let currentQuestion = createQuestion(
question.Q,
question.A,
question.data
)
logger.DebugLog(
'Searching for question in subj ' + data.subj,
'actions',
3
)
logger.DebugLog(currentQuestion, 'actions', 3)
questionSearchPromises.push(searchData(qdb, currentQuestion, data.subj))
})
logger.DebugLog('Question:', 'actions', 2)
logger.DebugLog(question, 'actions', 2)
let currentQuestion = createQuestion(
question.Q,
question.A,
question.data
)
logger.DebugLog(
'Searching for question in subj ' + data.subj,
'actions',
3
)
logger.DebugLog(currentQuestion, 'actions', 3)
searchData(qdb, currentQuestion, data.subj)
.then((allQuestions) => {
logger.DebugLog('Message from processData', 'actions', 1)
logger.DebugLog(allQuestions, 'actions', 3)
Promise.all(questionSearchPromises)
.then((results) => {
const allQuestions = [] // all new questions here that do not have result
results.forEach((result) => {
if (result.length === 0) {
allQuestions.push(result)
}
})
try {
let color = logger.GetColor('green')
@@ -158,9 +165,11 @@ function ProcessIncomingRequest(recievedData, qdb, infos, dryRun, user) {
}
})
.catch((err) => {
logger.Log('Process Data Worker error!', logger.GetColor('redbg'))
logger.Log(
'Error while searching for questions in ProcessIncomingRequest!',
logger.GetColor('redbg')
)
console.error(err)
reject(err)
})
} catch (err) {
console.log(err)