- [`pool.listTaskFunctionNames()`](#poollisttaskfunctionnames)
- [`pool.setDefaultTaskFunction(name)`](#poolsetdefaulttaskfunctionname)
- [`PoolOptions`](#pooloptions)
- - [`ThreadPoolOptions extends PoolOptions`](#threadpooloptions-extends-pooloptions)
- - [`ClusterPoolOptions extends PoolOptions`](#clusterpooloptions-extends-pooloptions)
- [Worker](#worker)
- [`class YourWorker extends ThreadWorker/ClusterWorker`](#class-yourworker-extends-threadworkerclusterworker)
- [`YourWorker.hasTaskFunction(name)`](#yourworkerhastaskfunctionname)
### `pool.execute(data, name, transferList)`
-`data` (optional) An object that you want to pass to your worker implementation.
+`data` (optional) An object that you want to pass to your worker task function implementation.
`name` (optional) A string with the task function name that you want to execute on the worker. Default: `'default'`
-`transferList` (optional) An array of transferable objects that you want to transfer to your [worker_threads](https://nodejs.org/api/worker_threads.html) worker implementation.
+`transferList` (optional) An array of transferable objects that you want to transfer to your [`ThreadWorker`](#class-yourworker-extends-threadworkerclusterworker) worker implementation.
This method is available on both pool implementations and returns a promise with the task function execution response.
### `pool.addTaskFunction(name, fn)`
-`name` (mandatory) The task function name.
+`name` (mandatory) The task function name.
`fn` (mandatory) The task function.
This method is available on both pool implementations and returns a boolean promise.
- `size` (optional) - The maximum number of tasks that can be queued on a worker before flagging it as back pressured. It must be a positive integer.
- `concurrency` (optional) - The maximum number of tasks that can be executed concurrently on a worker. It must be a positive integer.
- - `taskStealing` (optional) - Task stealing enablement.
- - `tasksStealingOnBackPressure` (optional) - Tasks stealing enablement on back pressure.
+ - `taskStealing` (optional) - Task stealing enablement on idle.
+ - `tasksStealingOnBackPressure` (optional) - Tasks stealing enablement under back pressure.
Default: `{ size: (pool maximum size)^2, concurrency: 1, taskStealing: true, tasksStealingOnBackPressure: true }`
-#### `ThreadPoolOptions extends PoolOptions`
-
- `workerOptions` (optional) - An object with the worker options to pass to worker. See [worker_threads](https://nodejs.org/api/worker_threads.html#worker_threads_new_worker_filename_options) for more details.
-#### `ClusterPoolOptions extends PoolOptions`
-
- `env` (optional) - An object with the environment variables to pass to 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.