Type of data sent to the worker. This can only be structured-cloneable data.
Type of execution response. This can only be structured-cloneable data.
Constructs a new poolifier dynamic thread pool.
Minimum number of threads which are always active.
Maximum number of threads that can be created by this pool.
Path to an implementation of a ThreadWorker
file, which can be relative or absolute.
Options for this dynamic thread pool.
Optional
Readonly
emitterEmitter on which events can be listened to.
Events that can currently be listened to:
'full'
: Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.'ready'
: Emitted when the number of workers created in the pool has reached the minimum size expected and are ready.'busy'
: Emitted when the number of workers created in the pool has reached the maximum size expected and are executing at least one task.'error'
: Emitted when an uncaught error occurs.'taskError'
: Emitted when an error occurs while executing a task.Protected
Readonly
filePath to the worker file.
Protected
Readonly
maxMaximum number of threads that can be created by this pool.
Protected
Readonly
numberNumber of workers that this pool should manage.
Protected
Readonly
optsOptions for this fixed thread pool.
Protected
promiseThe task execution response promise map.
key
: The message id of each submitted task.value
: An object that contains the worker, the execution response promise resolve and reject callbacks.When we receive a message from the worker, we get a map entry with the promise resolve/reject bound to the message id.
Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
Readonly
workerPool worker nodes.
Protected
busyWhether the pool is busy or not.
The pool busyness boolean status.
Protected
fullWhether the pool is full or not.
The pool filling boolean status.
Protected
maxThe pool maximum size.
Protected
minThe pool minimum size.
Private
readyThe pool readiness boolean status.
Protected
typeThe pool type.
If it is 'dynamic'
, it provides the max
property.
Private
utilizationThe approximate pool utilization.
The pool utilization.
Protected
workerThe worker type.
Protected
afterHook executed after the worker task execution. Can be overridden.
The worker node key.
The received message.
Protected
afterProtected
beforeHook executed before the worker task execution. Can be overridden.
The worker node key.
The task to execute.
Protected
checkProtected
createProtected
createProtected
createProtected
destroyEnables/disables the worker tasks queue in this pool.
Whether to enable or disable the worker tasks queue.
Optional
tasksQueueOptions: TasksQueueOptionsThe worker tasks queue options.
Executes the specified function in the worker constructor with the task data input parameter.
Optional
data: DataThe task input data for the specified worker function. This can only be structured-cloneable data.
Optional
name: stringThe name of the worker function to execute. If not specified, the default worker function will be executed.
Promise that will be fulfilled when the task is completed.
Protected
flushProtected
getGets the worker information given its worker node key.
The worker node key.
The worker information.
Protected
internalProtected
isProtected
registerRegisters a listener callback on the worker given its worker node key.
The worker node key.
The message listener callback.
Protected
sendProtected
sendSends a message to worker given its worker node key.
The worker node key.
The message.
Sets the worker tasks queue options in this pool.
The worker tasks queue options.
Sets the worker choice strategy in this pool.
The worker choice strategy.
Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
Sets the worker choice strategy options in this pool.
The worker choice strategy options.
Protected
setupProtected
workerThis method is the listener registered for each worker message.
The listener function to execute when a message is received from a worker.
This method is the listener registered for each worker message.
The listener function to execute when a message is received from a worker.
Generated using TypeDoc
A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.
This thread pool creates new threads when the others are busy, up to the maximum number of threads. When the maximum number of threads is reached and workers are busy, an event is emitted. If you want to listen to this event, use the pool's
emitter
.Author
Alessandro Pio Ardizio
Since
0.0.1