import type { TransferListItem, WorkerOptions } from 'node:worker_threads'
import type { TaskFunctionProperties } from '../utility-types.js'
-import type { TaskFunction } from '../worker/task-functions.js'
+import type {
+ TaskFunction,
+ TaskFunctionObject
+} from '../worker/task-functions.js'
import type {
WorkerChoiceStrategy,
WorkerChoiceStrategyOptions
readonly average?: number
readonly median?: number
}
+ readonly elu?: {
+ idle: {
+ readonly minimum: number
+ readonly maximum: number
+ readonly average?: number
+ readonly median?: number
+ }
+ active: {
+ readonly minimum: number
+ readonly maximum: number
+ readonly average?: number
+ readonly median?: number
+ }
+ }
}
/**
/**
* Whether to enable tasks stealing under back pressure.
*
- * @defaultValue true
+ * @defaultValue false
*/
readonly tasksStealingOnBackPressure?: boolean
/**
* @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.
+ * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `fn` parameter is not a function or task function object.
*/
readonly addTaskFunction: (
name: string,
- fn: TaskFunction<Data, Response>
+ fn: TaskFunction<Data, Response> | TaskFunctionObject<Data, Response>
) => Promise<boolean>
/**
* Removes a task function from this pool.