docs: improve code documentation
[poolifier.git] / src / pools / pool.ts
index 8aae69d463323557197da4a749072989060c0b6a..87f4a8fa03f781aab2a17926fd98ab088387bf1b 100644 (file)
@@ -72,12 +72,19 @@ export interface PoolInfo {
   worker: WorkerType
   minSize: number
   maxSize: number
+  /** Pool utilization ratio. */
+  utilization: number
+  /** Pool total worker nodes */
   workerNodes: number
+  /** Pool idle worker nodes */
   idleWorkerNodes: number
+  /** Pool busy worker nodes */
   busyWorkerNodes: number
-  runningTasks: number
+  executedTasks: number
+  executingTasks: number
   queuedTasks: number
   maxQueuedTasks: number
+  failedTasks: number
 }
 
 /**
@@ -150,8 +157,8 @@ export interface PoolOptions<Worker extends IWorker> {
  * Contract definition for a poolifier pool.
  *
  * @typeParam Worker - Type of worker which manages this pool.
- * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
- * @typeParam Response - Type of execution response. This can only be serializable data.
+ * @typeParam Data - Type of data sent to the worker. This can only be structured-cloneable data.
+ * @typeParam Response - Type of execution response. This can only be structured-cloneable data.
  */
 export interface IPool<
   Worker extends IWorker,
@@ -180,13 +187,13 @@ export interface IPool<
   /**
    * Executes the specified function in the worker constructor with the task data input parameter.
    *
-   * @param data - The task input data for the specified worker function. This can only be serializable data.
+   * @param data - The task input data for the specified worker function. This can only be structured-cloneable data.
    * @param name - The name of the worker function to execute. If not specified, the default worker function will be executed.
    * @returns Promise that will be fulfilled when the task is completed.
    */
   execute: (data?: Data, name?: string) => Promise<Response>
   /**
-   * Shutdowns every current worker in this pool.
+   * Terminates every current worker in this pool.
    */
   destroy: () => Promise<void>
   /**