X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FDynamicClusterPool.html;h=2c08b7ebb719b05ee671cb3e58b23748cf6137a1;hb=76369162548ededf89e0d513174a943cc330245c;hp=50217700d3d438538d3e2a554db9b4ceb2498e99;hpb=d0f1dce33156fdb99f0ca3627839001909419497;p=poolifier.git diff --git a/docs/classes/DynamicClusterPool.html b/docs/classes/DynamicClusterPool.html index 50217700..2c08b7eb 100644 --- a/docs/classes/DynamicClusterPool.html +++ b/docs/classes/DynamicClusterPool.html @@ -1,54 +1,1155 @@ -
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.
Id of the next message.
-The promise map.
-key
: This is the message Id of each submitted task.value
: An object that contains the worker, the resolve function and the reject function.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
.
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
emitterEvent emitter integrated with async resource on which events can be listened to.
+The async tracking tooling identifier is poolifier:<PoolType>-<WorkerType>-pool
.
Events that can currently be listened to:
+'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 concurrently their tasks quota.'full'
: Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.'destroy'
: Emitted when the pool is destroyed.'error'
: Emitted when an uncaught error occurs.'taskError'
: Emitted when an error occurs while executing a task.'backPressure'
: Emitted when all worker nodes have back pressure (i.e. their tasks queue is full: queue size >= maximum queue size).When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.
-Worker choice strategy instance implementing the worker choice algorithm.
-Default to a strategy implementing a round robin algorithm.
-Choose a worker for the next task.
-The default implementation uses a round robin algorithm to distribute the load.
-Worker.
-Creates a new worker for this pool and sets it up completely.
-New, completely set up worker.
-Decrease the number of tasks that the given worker has applied.
-Worker whose tasks are decreased.
-Increase the number of tasks that the given worker has applied.
-Worker whose tasks are increased.
-Removes the given worker from the pool.
-Worker that will be removed.
-This function is the listener registered for each worker.
-The listener function to execute when a message is sent from a worker.
-This function is the listener registered for each worker.
-The listener function to execute when a message is sent from a worker.
-Generated using TypeDoc
Protected
Readonly
filePath to the worker file.
+Protected
Readonly
maxMaximum number of workers that can be created by this pool.
+Protected
Readonly
numberNumber of workers that this pool should manage.
+Protected
Readonly
optsOptions for this fixed cluster 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
Internal
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.
+Adds a task function to this pool. +If a task function with the same name already exists, it will be overwritten.
+The name of the task function.
+The task function.
+true
if the task function was added, false
otherwise.
https://nodejs.org/api/errors.html#class-typeerror If the name
parameter is not a string or an empty string.
https://nodejs.org/api/errors.html#class-typeerror If the fn
parameter is not a function.
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
createProtected
createProtected
createProtected
deregisterDeregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Protected
destroyEnables/disables the worker node tasks queue in this pool.
+Whether to enable or disable the worker node tasks queue.
+Optional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
+Executes the specified function in the worker constructor with the task data input parameter.
+Optional
data: DataThe optional task input data for the specified task function. This can only be structured-cloneable data.
+Optional
name: stringThe optional name of the task function to execute. If not specified, the default task function will be executed.
+Optional
transferList: TransferListItem[]An optional array of transferable objects to transfer ownership of. Ownership of the transferred objects is given to the pool's worker_threads worker and they should not be used in the main thread afterwards.
+Promise that will be fulfilled when the task is completed.
+ +Protected
flagProtected
flushProtected
getGets the worker information given its worker node key.
+The worker node key.
+The worker information.
+ +Protected
internalProtected
isProtected
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
sendProtected
sendProtected
sendSends a message to worker given its worker node key.
+The worker node key.
+The message.
+Sets the worker node tasks queue options in this pool.
+The worker node 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 message listener registered on each worker.
+Generated using TypeDoc
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, an event is emitted. If you want to listen to this event, use the pool's
-emitter
.of data sent to the worker. This can only be serializable data.
-of response of execution. This can only be serializable data.
-Christopher Quadflieg
-2.0.0
-