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