fix: fixes to pool initialization
[poolifier.git] / src / pools / pool.ts
index e6388b03fc8544f1a5ee3b6eac62d862b51d323e..af80bcfbebcee352f2dc0c09dc6a6754e75ec0bf 100644 (file)
@@ -1,5 +1,5 @@
-import { EventEmitterAsyncResource } from 'node:events'
 import type { TransferListItem } from 'node:worker_threads'
+import type { EventEmitterAsyncResource } from 'node:events'
 import type { TaskFunction } from '../worker/task-functions'
 import type {
   ErrorHandler,
@@ -34,11 +34,6 @@ export const PoolTypes = Object.freeze({
  */
 export type PoolType = keyof typeof PoolTypes
 
-/**
- * Pool event emitter integrated with async resource.
- */
-export class PoolEmitter extends EventEmitterAsyncResource {}
-
 /**
  * Enumeration of pool events.
  */
@@ -115,13 +110,13 @@ export interface TasksQueueOptions {
    */
   readonly concurrency?: number
   /**
-   * Whether to enable task stealing.
+   * Whether to enable task stealing on empty queue.
    *
    * @defaultValue true
    */
   readonly taskStealing?: boolean
   /**
-   * Whether to enable tasks stealing on back pressure.
+   * Whether to enable tasks stealing under back pressure.
    *
    * @defaultValue true
    */
@@ -227,7 +222,7 @@ export interface IPool<
    */
   readonly hasWorkerNodeBackPressure: (workerNodeKey: number) => boolean
   /**
-   * Event emitter integrated with `AsyncResource` on which events can be listened to.
+   * Event emitter integrated with async resource on which events can be listened to.
    * The async tracking tooling identifier is `poolifier:<PoolType>-<WorkerType>-pool`.
    *
    * Events that can currently be listened to:
@@ -240,7 +235,7 @@ export interface IPool<
    * - `'taskError'`: Emitted when an error occurs while executing a task.
    * - `'backPressure'`: Emitted when all worker nodes have back pressure (i.e. their tasks queue is full: queue size \>= maximum queue size).
    */
-  readonly emitter?: PoolEmitter
+  readonly emitter?: EventEmitterAsyncResource
   /**
    * Executes the specified function in the worker constructor with the task data input parameter.
    *