X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker-node.ts;h=1a4df6cd4afd479607a267e0d5ada4744a312e9e;hb=bcf1c155ec2e2d9208c8f818abd031662bd61d7f;hp=a9f9ca5f71fac8adf9655a105d55307e78884d5a;hpb=7f0e133432b540753bcdd06160d1363e9fe65437;p=poolifier.git diff --git a/src/pools/worker-node.ts b/src/pools/worker-node.ts index a9f9ca5f..1a4df6cd 100644 --- a/src/pools/worker-node.ts +++ b/src/pools/worker-node.ts @@ -1,9 +1,16 @@ -import { MessageChannel } from 'node:worker_threads' import { EventEmitter } from 'node:events' +import { MessageChannel } from 'node:worker_threads' + 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 { Task } from '../utility-types.js' +import { DEFAULT_TASK_NAME } from '../utils.js' +import { + checkWorkerNodeArguments, + createWorker, + getWorkerId, + getWorkerType +} from './utils.js' import { type EventHandler, type IWorker, @@ -15,7 +22,6 @@ import { WorkerTypes, type WorkerUsage } from './worker.js' -import { checkWorkerNodeArguments, createWorker } from './utils.js' /** * Worker node. @@ -132,6 +138,7 @@ export class WorkerNode this.removeAllListeners() switch (this.info.type) { case WorkerTypes.thread: + this.worker.unref?.() await this.worker.terminate?.() break case WorkerTypes.cluster: