perf: improve node eligibility branching on worker choice strategies
[poolifier.git] / src / pools / pool.ts
index c8aedce756d791bcbcff27afc1e7b795267139e0..4463560c2754e82fd8b14564bd7c18a3268dc671 100644 (file)
@@ -80,17 +80,18 @@ export interface PoolInfo {
   readonly queuedTasks?: number
   readonly maxQueuedTasks?: number
   readonly backPressure?: boolean
+  readonly stolenTasks?: number
   readonly failedTasks: number
   readonly runTime?: {
     readonly minimum: number
     readonly maximum: number
-    readonly average: number
+    readonly average?: number
     readonly median?: number
   }
   readonly waitTime?: {
     readonly minimum: number
     readonly maximum: number
-    readonly average: number
+    readonly average?: number
     readonly median?: number
   }
 }
@@ -104,6 +105,10 @@ export interface TasksQueueOptions {
    *
    * @defaultValue (pool maximum size)^2
    */
+  readonly size?: number
+  /**
+   * @deprecated Use `size` instead.
+   */
   readonly queueMaxSize?: number
   /**
    * Maximum number of tasks that can be executed concurrently on a worker node.
@@ -205,10 +210,10 @@ export interface IPool<
    * - `'ready'`: Emitted when the number of workers created in the pool has reached the minimum size expected and are ready.
    * - `'busy'`: Emitted when the number of workers created in the pool has reached the maximum size expected and are executing at least one task.
    * - `'full'`: Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.
-   * - '`destroy`': Emitted when the pool is destroyed.
+   * - `'destroy'`: Emitted when the pool is destroyed.
    * - `'error'`: Emitted when an uncaught error occurs.
    * - `'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 \>= max queue size).
+   * - `'backPressure'`: Emitted when all worker nodes have back pressure (i.e. their tasks queue is full: queue size \>= maximum queue size).
    */
   readonly emitter?: PoolEmitter
   /**