From 7571ffe271fb8a75f0296f47a4d02b5eaedeb893 Mon Sep 17 00:00:00 2001
From: mrfry <mr.fry@tutanota.com>
Date: Wed, 21 Apr 2021 13:14:21 +0200
Subject: [PATCH] Changed console logs to debuglog, fixed msgAll locking
 workers

---
 src/utils/classes.ts    | 13 +++++++++----
 src/utils/workerPool.ts | 17 ++++++++++++-----
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/utils/classes.ts b/src/utils/classes.ts
index aa6455a..64ade21 100755
--- a/src/utils/classes.ts
+++ b/src/utils/classes.ts
@@ -730,14 +730,19 @@ if (!isMainThread) {
       }
       logger.DebugLog(`Worker new question ${workerIndex}`, 'worker update', 1)
 
-      // parentPort.postMessage({
-      //   msg: `From thread #${workerIndex}: update done`,
-      //   workerIndex: workerIndex,
-      // })
+      parentPort.postMessage({
+        msg: `From thread #${workerIndex}: update done`,
+        workerIndex: workerIndex,
+      })
 
       // console.log(`[THREAD #${workerIndex}]: update`)
     } else if (msg.type === 'newdb') {
       qdbs.push(msg.newdb)
+
+      parentPort.postMessage({
+        msg: `From thread #${workerIndex}: new db add done`,
+        workerIndex: workerIndex,
+      })
       // console.log(`[THREAD #${workerIndex}]: newdb`)
     } else {
       logger.Log(`Invalid msg type!`, logger.GetColor('redbg'))
diff --git a/src/utils/workerPool.ts b/src/utils/workerPool.ts
index fc785b0..f167f39 100644
--- a/src/utils/workerPool.ts
+++ b/src/utils/workerPool.ts
@@ -44,13 +44,14 @@ function handleWorkerError(worker: WorkerObj, err) {
 
 // TODO: accuire all workers here, and handle errors so they can be removed if threads exit
 export function msgAllWorker(data: any): Promise<any> {
-  console.log('MSGING ALL WORKER')
+  logger.DebugLog('MSGING ALL WORKER', 'job', 1)
   return new Promise((resolve) => {
     const promises = []
     workers.forEach((worker) => {
       promises.push(doALongTask(data, worker.index))
     })
     Promise.all(promises).then((res) => {
+      logger.DebugLog('MSGING ALL WORKER DONE', 'job', 1)
       resolve(res)
     })
   })
@@ -131,8 +132,10 @@ function processJob() {
       if (!isNaN(pendingJobs[jobKey].targetWorkerIndex)) {
         if (workers[pendingJobs[jobKey].targetWorkerIndex].free) {
           freeWorker = workers[pendingJobs[jobKey].targetWorkerIndex]
-          console.log(
-            `RESERVING WORKER ${pendingJobs[jobKey].targetWorkerIndex}`
+          logger.DebugLog(
+            `RESERVING WORKER ${pendingJobs[jobKey].targetWorkerIndex}`,
+            'job',
+            1
           )
         }
       } else {
@@ -140,14 +143,18 @@ function processJob() {
           return worker.free
         })
         if (freeWorker) {
-          console.log(`RESERVING FIRST AVAILABLE WORKER ${freeWorker.index}`)
+          logger.DebugLog(
+            `RESERVING FIRST AVAILABLE WORKER ${freeWorker.index}`,
+            'job',
+            1
+          )
         }
       }
       i++
     }
 
     if (!freeWorker) {
-      console.log('NO FREE WORKER')
+      logger.DebugLog('NO FREE WORKER', 'job', 1)
       return
     }