X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker-node.ts;h=bf2600d57782873bea28f50f413a7de945a35b35;hb=60aa9f2f82b880212aa9478e05f18490175fcab8;hp=d80c03d80f00edc474da050ca41c8297c12142dd;hpb=88af9bf11e70a785747f7511e26d13355ba9deb7;p=poolifier.git diff --git a/src/pools/worker-node.ts b/src/pools/worker-node.ts index d80c03d8..bf2600d5 100644 --- a/src/pools/worker-node.ts +++ b/src/pools/worker-node.ts @@ -1,9 +1,9 @@ import { MessageChannel } from 'node:worker_threads' import { EventEmitter } from 'node:events' -import { CircularArray } from '../circular-array' -import type { Task } from '../utility-types' -import { DEFAULT_TASK_NAME, getWorkerId, getWorkerType } from '../utils' -import { Deque } from '../deque' +import { CircularArray } from '../circular-array.js' +import type { Task } from '../utility-types.js' +import { DEFAULT_TASK_NAME, getWorkerId, getWorkerType } from '../utils.js' +import { Deque } from '../deque.js' import { type ErrorHandler, type ExitHandler, @@ -17,8 +17,8 @@ import { type WorkerType, WorkerTypes, type WorkerUsage -} from './worker' -import { checkWorkerNodeArguments, createWorker } from './utils' +} from './worker.js' +import { checkWorkerNodeArguments, createWorker } from './utils.js' /** * Worker node. @@ -132,13 +132,16 @@ export class WorkerNode }) this.closeMessageChannel() this.removeAllListeners() - if (this.info.type === WorkerTypes.thread) { - await this.worker.terminate?.() - } else if (this.info.type === WorkerTypes.cluster) { - this.registerOnceWorkerEventHandler('disconnect', () => { - this.worker.kill?.() - }) - this.worker.disconnect?.() + switch (this.info.type) { + case WorkerTypes.thread: + await this.worker.terminate?.() + break + case WorkerTypes.cluster: + this.registerOnceWorkerEventHandler('disconnect', () => { + this.worker.kill?.() + }) + this.worker.disconnect?.() + break } await waitWorkerExit } @@ -211,7 +214,8 @@ export class WorkerNode id: getWorkerId(worker), type: getWorkerType(worker) as WorkerType, dynamic: false, - ready: false + ready: false, + stealing: false } }