Worker Processes

JS
S
JavaScript

Worker process simple script

1import WorkerProcess from 'tiny-worker';
2
3const nonOpDaysWorkerAdapter = (records: Record[], allNonOpDays: NonOpDay[]): Promise<any[]> =>
4    new Promise((resolve, reject) => {
5
6    // subprocess worker creation
7    const worker = new WorkerProcess(function () {
8      self.onmessage = function (ev: any) {
9         // do stuff
10       postMessage(filteredRecords, '1');
11     }
12   });
13
14    // subprocess worker management
15    worker.onmessage = (ev: any) => {
16      console.log('worker finished work', ev.data.length);
17      resolve(ev.data);
18      worker.terminate();
19    };
20
21    worker.postMessage({ records, allNonOpDays });
22  });
23
24export { nonOpDaysWorkerAdapter };
25
26
27// to invoke
28import { nonOpDaysWorkerAdapter } from '../workers/nonopdays-preparer.worker';
29const unblockedRecords = await nonOpDaysWorkerAdapter(parsedRecords, allNonOpDays);

Created on 3/9/2021