X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker-node.ts;h=308215176edb515851c2349ba550d3cc50e2611b;hb=76ae94ffbe0d293daee778f0e885866242059450;hp=6a5881da097bbbd727806a024edf9c6ab06eb7c3;hpb=67f3f2d6cb8f915ec71f81c4533ab80a6c6a6f0f;p=poolifier.git diff --git a/src/pools/worker-node.ts b/src/pools/worker-node.ts index 6a5881da..30821517 100644 --- a/src/pools/worker-node.ts +++ b/src/pools/worker-node.ts @@ -2,15 +2,12 @@ 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 ErrorHandler, - type ExitHandler, + type EventHandler, type IWorker, type IWorkerNode, - type MessageHandler, - type OnlineHandler, type StrategyData, type WorkerInfo, type WorkerNodeOptions, @@ -18,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. @@ -64,7 +66,8 @@ export class WorkerNode if (this.info.type === WorkerTypes.thread) { this.messageChannel = new MessageChannel() } - this.tasksQueueBackPressureSize = opts.tasksQueueBackPressureSize + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + this.tasksQueueBackPressureSize = opts.tasksQueueBackPressureSize! this.tasksQueue = new Deque>() this.onBackPressureStarted = false this.taskFunctionsUsage = new Map() @@ -80,8 +83,7 @@ export class WorkerNode 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 @@ -92,8 +94,7 @@ export class WorkerNode 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 @@ -151,11 +152,7 @@ export class WorkerNode /** @inheritdoc */ public registerWorkerEventHandler ( event: string, - handler: - | OnlineHandler - | MessageHandler - | ErrorHandler - | ExitHandler + handler: EventHandler ): void { this.worker.on(event, handler) } @@ -163,11 +160,7 @@ export class WorkerNode /** @inheritdoc */ public registerOnceWorkerEventHandler ( event: string, - handler: - | OnlineHandler - | MessageHandler - | ErrorHandler - | ExitHandler + handler: EventHandler ): void { this.worker.once(event, handler) }