Bump @types/node from 14.14.31 to 14.14.32 (#258)
[poolifier.git] / src / pools / cluster / fixed.ts
index 4ec81c07bab66b0ebad1cb3eed371ea568989ef0..b522947f25cb6f9497c7935fdcd131d1747e8b34 100644 (file)
@@ -2,6 +2,7 @@ import { fork, isMaster, setupMaster, Worker } from 'cluster'
 import type { MessageValue } from '../../utility-types'
 import type { PoolOptions } from '../abstract-pool'
 import { AbstractPool } from '../abstract-pool'
+import { PoolType } from '../pool-internal'
 
 /**
  * Options for a poolifier cluster pool.
@@ -38,12 +39,12 @@ export class FixedClusterPool<
    *
    * @param numberOfWorkers Number of workers for this pool.
    * @param filePath Path to an implementation of a `ClusterWorker` file, which can be relative or absolute.
-   * @param opts Options for this fixed cluster pool. Default: `{ maxTasks: 1000 }`
+   * @param opts Options for this fixed cluster pool. Default: `{}`
    */
   public constructor (
     numberOfWorkers: number,
     filePath: string,
-    public readonly opts: ClusterPoolOptions = { maxTasks: 1000 }
+    public readonly opts: ClusterPoolOptions = {}
   ) {
     super(numberOfWorkers, filePath, opts)
   }
@@ -81,9 +82,17 @@ export class FixedClusterPool<
   }
 
   protected afterWorkerSetup (worker: Worker): void {
-    // We will attach a listener for every task,
-    // when task is completed the listener will be removed but to avoid warnings we are increasing the max listeners size
-    worker.setMaxListeners(this.opts.maxTasks ?? 1000)
+    // Listen worker messages.
     this.registerWorkerMessageListener(worker, super.workerListener())
   }
+
+  /** @inheritdoc */
+  public get type (): PoolType {
+    return PoolType.FIXED
+  }
+
+  /** @inheritdoc */
+  public get busy (): boolean {
+    return this.internalGetBusyStatus()
+  }
 }