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 cluster pool.
Minimum number of workers which are always active.
Maximum number of workers that can be created by this pool.
Path to an implementation of a ClusterWorker
file, which can be relative or absolute.
Options for this dynamic cluster pool.
Optional
emitterProtected
Readonly
filePath to the worker file.
Protected
Optional
Readonly
maximumMaximum number of workers that this pool manages.
Protected
Readonly
minimumMinimum number of workers that this pool manages.
Protected
Readonly
optsOptions for the pool.
Protected
promiseThe task execution response promise map:
key
: The message id of each submitted task.value
: An object that contains task's worker node key, execution response promise resolve and reject callbacks, async resource.When we receive a message from the worker, we get a map entry with the promise resolve/reject bound to the message id.
Protected
Optional
workerWorker choice strategies context referencing worker choice algorithms implementation.
Readonly
workerProtected
backWhether the pool is back pressured or not.
The pool back pressure boolean status.
Protected
busyWhether the pool is busy or not.
The pool busyness boolean status.
Protected
typeThe pool type.
If it is 'dynamic'
, it provides the max
property.
Protected
workerThe worker type.
Protected
afterHook executed after the worker task execution. Can be overridden.
The worker node key.
The received message.
Protected
afterMethod hooked up after a worker node has been newly created. Can be overridden.
The newly created worker node key.
Protected
beforeProtected
checkEmits dynamic worker creation events.
Protected
checkEmits dynamic worker destruction events.
Protected
createCreates a new, completely set up dynamic worker node.
New, completely set up dynamic worker node key.
Protected
createCreates a new, completely set up worker node.
New, completely set up worker node key.
Protected
deregisterDeregisters a listener callback on the worker given its worker node key.
The worker node key.
The message listener callback.
Protected
destroyTerminates the worker node given its worker node key.
The worker node key.
Protected
flagProtected
flushProtected
getGets the worker information given its worker node key.
The worker node key.
The worker information.
Protected
internalWhether the worker nodes are back pressured or not.
Worker nodes back pressure boolean status.
Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
Worker nodes busyness boolean status.
Protected
isReturns whether the worker is the main worker or not.
true
if the worker is the main worker, false
otherwise.
Protected
registerRegisters once a listener callback on the worker given its worker node key.
The worker node key.
The message listener callback.
Protected
registerRegisters a listener callback on the worker given its worker node key.
The worker node key.
The message listener callback.
Protected
sendSends the startup message to worker given its worker node key.
The worker node key.
Protected
sendSends a message to worker given its worker node key.
The worker node key.
The message.
Protected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. Can be overridden.
Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsProtected
shallConditions for dynamic worker creation.
Whether to create a dynamic worker or not.
Protected
Readonly
workerThis method is the message listener registered on each worker.
The message received from the worker.
A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers.
This cluster pool creates new workers when the others are busy, up to the maximum number of workers. When the maximum number of workers is reached and workers are busy, an event is emitted. If you want to listen to this event, use the pool's
emitter
.Author
Christopher Quadflieg
Since
2.0.0