Fix worker thread exit message.
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 25 Jan 2021 22:39:52 +0000 (23:39 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 25 Jan 2021 22:39:52 +0000 (23:39 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/worker/WorkerDynamicPool.ts
src/worker/WorkerSet.ts
src/worker/WorkerStaticPool.ts

index 9567768c629551a1631e315dce74762b34ebbbe9..570e5d1bcb2bded02486202787a876d32f251d88 100644 (file)
@@ -4,7 +4,6 @@ import Constants from '../utils/Constants';
 import Utils from '../utils/Utils';
 import { WorkerData } from '../types/Worker';
 import Wrk from './Wrk';
-import { threadId } from 'worker_threads';
 
 export default class WorkerDynamicPool extends Wrk {
   private pool: DynamicPool;
@@ -60,7 +59,7 @@ class DynamicPool extends DynamicThreadPool<WorkerData> {
         {
           exitHandler: (code) => {
             if (code !== 0) {
-              console.error(`Worker ${threadId} stopped with exit code ${code}`);
+              console.error(`Worker stopped with exit code ${code}`);
             }
           }
         }
index 2151eff9ceb51db91d6662957694f09b1c81c921..0c59c09108089d059184bcaac99e6ffc104c3341 100644 (file)
@@ -1,8 +1,8 @@
-import { Worker, threadId } from 'worker_threads';
 import { WorkerData, WorkerEvents, WorkerSetElement } from '../types/Worker';
 
 import Constants from '../utils/Constants';
 import Utils from '../utils/Utils';
+import { Worker } from 'worker_threads';
 import Wrk from './Wrk';
 
 export default class WorkerSet extends Wrk {
@@ -65,8 +65,9 @@ export default class WorkerSet extends Wrk {
     worker.on('error', () => { });
     worker.on('exit', (code) => {
       if (code !== 0) {
-        console.error(`Worker ${threadId} stopped with exit code ${code}`);
+        console.error(`Worker stopped with exit code ${code}`);
       }
+      // FIXME: remove matching worker set element
     });
     this.workers.add({ worker, numberOfWorkerElements: 0 });
   }
@@ -81,4 +82,14 @@ export default class WorkerSet extends Wrk {
   private getLastWorker(): Worker {
     return this.getLastWorkerSetElement().worker;
   }
+
+  private getWorkerSetElementByWorker(worker: Worker): WorkerSetElement {
+    let workerSetElt: WorkerSetElement;
+    this.workers.forEach((workerSetElement) => {
+      if (JSON.stringify(workerSetElement.worker) === JSON.stringify(worker)) {
+        workerSetElt = workerSetElement;
+      }
+    });
+    return workerSetElt;
+  }
 }
index 20d53b0e02d305e9f4623175cdca0301a737a81b..9c2bc41d4adac0d905a4603e3adfd9c57187a646 100644 (file)
@@ -4,7 +4,6 @@ import Constants from '../utils/Constants';
 import Utils from '../utils/Utils';
 import { WorkerData } from '../types/Worker';
 import Wrk from './Wrk';
-import { threadId } from 'worker_threads';
 
 export default class WorkerStaticPool extends Wrk {
   private pool: StaticPool;
@@ -60,7 +59,7 @@ class StaticPool extends FixedThreadPool<WorkerData> {
         {
           exitHandler: (code) => {
             if (code !== 0) {
-              console.error(`Worker ${threadId} stopped with exit code ${code}`);
+              console.error(`Worker stopped with exit code ${code}`);
             }
           }
         }