export interface PoolOptions<Worker extends IWorker> {
/**
* A function that will listen for online event on each worker.
+ *
+ * @defaultValue `() => {}`
*/
onlineHandler?: OnlineHandler<Worker>
/**
* A function that will listen for message event on each worker.
+ *
+ * @defaultValue `() => {}`
*/
messageHandler?: MessageHandler<Worker>
/**
* A function that will listen for error event on each worker.
+ *
+ * @defaultValue `() => {}`
*/
errorHandler?: ErrorHandler<Worker>
/**
* A function that will listen for exit event on each worker.
+ *
+ * @defaultValue `() => {}`
*/
exitHandler?: ExitHandler<Worker>
/**
* Whether to start the minimum number of workers at pool initialization.
*
- * @defaultValue false
+ * @defaultValue true
*/
startWorkers?: boolean
/**
* If a task function with the same name already exists, it will be overwritten.
*
* @param name - The name of the task function.
- * @param taskFunction - The task function.
+ * @param fn - The task function.
* @returns `true` if the task function was added, `false` otherwise.
+ * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `name` parameter is not a string or an empty string.
+ * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `fn` parameter is not a function.
*/
readonly addTaskFunction: (
name: string,
- taskFunction: TaskFunction<Data, Response>
+ fn: TaskFunction<Data, Response>
) => Promise<boolean>
/**
* Removes a task function from this pool.