repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge dependabot/npm_and_yarn/examples/typescript/smtp-client-pool/types/node-20...
[poolifier.git]
/
src
/
pools
/
worker-node.ts
diff --git
a/src/pools/worker-node.ts
b/src/pools/worker-node.ts
index 9fa4ea3201e3ca0db3d3aa9f79153adc3f1625d5..1a4df6cd4afd479607a267e0d5ada4744a312e9e 100644
(file)
--- 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 { EventEmitter } from 'node:events'
+import { MessageChannel } from 'node:worker_threads'
+
import { CircularArray } from '../circular-array.js'
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 { 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,
import {
type EventHandler,
type IWorker,
@@
-15,7
+22,6
@@
import {
WorkerTypes,
type WorkerUsage
} from './worker.js'
WorkerTypes,
type WorkerUsage
} from './worker.js'
-import { checkWorkerNodeArguments, createWorker } from './utils.js'
/**
* Worker node.
/**
* Worker node.
@@
-78,8
+84,7
@@
export class WorkerNode<Worker extends IWorker, Data = unknown>
const tasksQueueSize = this.tasksQueue.push(task)
if (this.hasBackPressure() && !this.onBackPressureStarted) {
this.onBackPressureStarted = true
const tasksQueueSize = this.tasksQueue.push(task)
if (this.hasBackPressure() && !this.onBackPressureStarted) {
this.onBackPressureStarted = true
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- this.emit('backPressure', { workerId: this.info.id! })
+ this.emit('backPressure', { workerId: this.info.id })
this.onBackPressureStarted = false
}
return tasksQueueSize
this.onBackPressureStarted = false
}
return tasksQueueSize
@@
-90,8
+95,7
@@
export class WorkerNode<Worker extends IWorker, Data = unknown>
const tasksQueueSize = this.tasksQueue.unshift(task)
if (this.hasBackPressure() && !this.onBackPressureStarted) {
this.onBackPressureStarted = true
const tasksQueueSize = this.tasksQueue.unshift(task)
if (this.hasBackPressure() && !this.onBackPressureStarted) {
this.onBackPressureStarted = true
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- this.emit('backPressure', { workerId: this.info.id! })
+ this.emit('backPressure', { workerId: this.info.id })
this.onBackPressureStarted = false
}
return tasksQueueSize
this.onBackPressureStarted = false
}
return tasksQueueSize
@@
-134,6
+138,7
@@
export class WorkerNode<Worker extends IWorker, Data = unknown>
this.removeAllListeners()
switch (this.info.type) {
case WorkerTypes.thread:
this.removeAllListeners()
switch (this.info.type) {
case WorkerTypes.thread:
+ this.worker.unref?.()
await this.worker.terminate?.()
break
case WorkerTypes.cluster:
await this.worker.terminate?.()
break
case WorkerTypes.cluster: