Merge dependabot/npm_and_yarn/examples/typescript/websocket-server-pool/ws-worker_thr...
[poolifier.git] / src / pools / worker-node.ts
index a9f9ca5f71fac8adf9655a105d55307e78884d5a..523036a5eac6f57db2966131652b29da6423fea1 100644 (file)
@@ -2,7 +2,7 @@ import { MessageChannel } from 'node:worker_threads'
 import { EventEmitter } from 'node:events'
 import { CircularArray } from '../circular-array.js'
 import type { Task } from '../utility-types.js'
-import { DEFAULT_TASK_NAME, getWorkerId, getWorkerType } from '../utils.js'
+import { DEFAULT_TASK_NAME } from '../utils.js'
 import { Deque } from '../deque.js'
 import {
   type EventHandler,
@@ -15,7 +15,12 @@ import {
   WorkerTypes,
   type WorkerUsage
 } from './worker.js'
-import { checkWorkerNodeArguments, createWorker } from './utils.js'
+import {
+  checkWorkerNodeArguments,
+  createWorker,
+  getWorkerId,
+  getWorkerType
+} from './utils.js'
 
 /**
  * Worker node.
@@ -132,6 +137,7 @@ export class WorkerNode<Worker extends IWorker, Data = unknown>
     this.removeAllListeners()
     switch (this.info.type) {
       case WorkerTypes.thread:
+        this.worker.unref?.()
         await this.worker.terminate?.()
         break
       case WorkerTypes.cluster: