feat: add worker tasks queue options to pool options
[poolifier.git] / src / pools / pool.ts
index f24d79e41e01dfba297821ea88acc22066052550..2cdf9b748db6350b0bfa7c9e64aedd8b32b296cf 100644 (file)
@@ -29,6 +29,18 @@ export const PoolEvents = Object.freeze({
  */
 export type PoolEvent = keyof typeof PoolEvents
 
+/**
+ * Worker tasks queue options.
+ */
+export interface TasksQueueOptions {
+  /**
+   * Maximum number of tasks that can be executed concurrently on a worker.
+   *
+   * @defaultValue 1
+   */
+  concurrency?: number
+}
+
 /**
  * Options for a poolifier pool.
  */
@@ -70,6 +82,13 @@ export interface PoolOptions<Worker extends IWorker> {
    * @defaultValue false
    */
   enableTasksQueue?: boolean
+  /**
+   * Pool worker tasks queue options.
+   *
+   * @experimental
+   * @defaultValue \{ concurrency: 1 \}
+   */
+  tasksQueueOptions?: TasksQueueOptions
 }
 
 /**