Default: `{ medRunTime: false }`
- `restartWorkerOnError` (optional) - Restart worker on uncaught error in this pool.
- Default: true
+ Default: `true`
- `enableEvents` (optional) - Events emission enablement in this pool.
- Default: true
+ Default: `true`
- `enableTasksQueue` (optional) - Tasks queue per worker enablement in this pool.
- Default: false
+ Default: `false`
- `tasksQueueOptions` (optional) - The worker tasks queue options object to use in this pool.
Properties:
Default: `{ concurrency: 1 }`
- #### Thread pool specific options
+#### Thread pool specific options
- - `workerOptions` (optional) - An object with the worker options. See [worker_threads](https://nodejs.org/api/worker_threads.html#worker_threads_new_worker_filename_options) for more details.
+- `workerOptions` (optional) - An object with the worker options. See [worker_threads](https://nodejs.org/api/worker_threads.html#worker_threads_new_worker_filename_options) for more details.
- #### Cluster pool specific options
+#### Cluster pool specific options
- - `env` (optional) - An object with the environment variables to pass to the worker. See [cluster](https://nodejs.org/api/cluster.html#cluster_cluster_fork_env) for more details.
+- `env` (optional) - An object with the environment variables to pass to the worker. See [cluster](https://nodejs.org/api/cluster.html#cluster_cluster_fork_env) for more details.
- - `settings` (optional) - An object with the cluster settings. See [cluster](https://nodejs.org/api/cluster.html#cluster_cluster_settings) for more details.
+- `settings` (optional) - An object with the cluster settings. See [cluster](https://nodejs.org/api/cluster.html#cluster_cluster_settings) for more details.
### `pool = new FixedThreadPool/FixedClusterPool(numberOfThreads/numberOfWorkers, filePath, opts)`
### `pool.execute(data, name)`
`data` (optional) An object that you want to pass to your worker implementation
-`name` (optional) A string with the task function name that you want to execute on the worker. Default: `default`
+`name` (optional) A string with the task function name that you want to execute on the worker. Default: `'default'`
This method is available on both pool implementations and returns a promise.
### `pool.destroy()`
The last active time of your worker unit will be updated when a task is submitted to a worker or when a worker terminate a task.
If `killBehavior` is set to `KillBehaviors.HARD` this value represents also the timeout for the tasks that you submit to the pool, when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool.
If `killBehavior` is set to `KillBehaviors.SOFT` your tasks have no timeout and your workers will not be terminated until your task is completed.
- Default: 60000
+ Default: `60000`
- `killBehavior` (optional) - Dictates if your async unit (worker/process) will be deleted in case that a task is active on it.
**KillBehaviors.SOFT**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **won't** be deleted.