X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fclasses%2FDynamicClusterPool.html;h=2c08b7ebb719b05ee671cb3e58b23748cf6137a1;hb=76369162548ededf89e0d513174a943cc330245c;hp=0a3eb0ca88824fe42e0c2f0a1aa4dfa15e355862;hpb=a8aeac440fb425585a0d597af86f616e648ae156;p=poolifier.git diff --git a/docs/classes/DynamicClusterPool.html b/docs/classes/DynamicClusterPool.html index 0a3eb0ca..2c08b7eb 100644 --- a/docs/classes/DynamicClusterPool.html +++ b/docs/classes/DynamicClusterPool.html @@ -1,13 +1,13 @@ -
Type of data sent to the worker. This can only be serializable data.
-Type of data sent to the worker. This can only be structured-cloneable data.
+Type of execution response. This can only be serializable 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
Readonly
emitterEmitter on which events can be listened to.
+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:
'full'
: Emitted when the pool is dynamic and full.'busy'
: Emitted when the pool is busy.'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).Readonly
filePath to the worker-file.
-Protected
Readonly
filePath to the worker file.
+Readonly
maxProtected
Readonly
maxMaximum number of workers that can be created by this pool.
-Readonly
numberProtected
Readonly
numberNumber of workers that this pool should manage.
-Readonly
optsProtected
Readonly
optsOptions for this fixed cluster pool.
-Protected
promiseThe execution response promise map.
+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.
-Inherited from FixedClusterPool.promiseResponseMap
Protected
workerProtected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
-Default to a round robin algorithm.
-Inherited from FixedClusterPool.workerChoiceStrategyContext
Readonly
workerReadonly
Internal
workerPool worker nodes.
-Inherited from FixedClusterPool.workerNodes
Protected
busyProtected
busyWhether the pool is busy or not.
The pool busyness boolean status.
Overrides FixedClusterPool.busy
Protected
fullProtected
fullWhether the pool is full or not.
The pool filling boolean status.
Overrides FixedClusterPool.full
+Inherited from FixedClusterPool.full
+Pool information.
+Inherited from FixedClusterPool.info
+Protected
maxThe pool maximum size.
+Inherited from FixedClusterPool.maxSize
Private
numberProtected
minNumber of tasks queued in the pool.
+The pool minimum size.
Inherited from FixedClusterPool.numberOfQueuedTasks
+Inherited from FixedClusterPool.minSize
Private
numberPrivate
readyNumber of tasks running in the pool.
+The pool readiness boolean status.
Inherited from FixedClusterPool.numberOfRunningTasks
+Inherited from FixedClusterPool.ready
Protected
typePool type.
+The pool type.
If it is 'dynamic'
, it provides the max
property.
Overrides FixedClusterPool.type
Private
utilizationThe approximate pool utilization.
+The pool utilization.
+ +Inherited from FixedClusterPool.utilization
+Protected
workerThe worker type.
+Inherited from FixedClusterPool.worker
+Protected
afterAdds 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.
Inherited from FixedClusterPool.addTaskFunction
+Protected
afterHook executed after the worker task execution. Can be overridden.
@@ -283,40 +407,45 @@ Can be overridden.The worker.
-The worker node key.
+The received message.
-Inherited from FixedClusterPool.afterTaskExecutionHook
Protected
afterProtected
afterFunction that can be hooked up when a worker has been newly created and moved to the pool worker nodes.
-Can be used to update the maxListeners
or binding the main-worker
<->worker
connection if not bind by default.
Method hooked up after a worker node has been newly created. +Can be overridden.
The newly created worker.
-Inherited from FixedClusterPool.afterWorkerSetup
+The newly created worker node key.
+Inherited from FixedClusterPool.afterWorkerNodeSetup
Protected
beforeProtected
beforeThe task to execute.
+Inherited from FixedClusterPool.beforeTaskExecutionHook
Protected
chooseProtected
createChooses a worker node for the next task.
-The default uses a round robin algorithm to distribute the load.
- -[worker node key, worker node].
+Creates a new, completely set up dynamic worker node.
Inherited from FixedClusterPool.chooseWorkerNode
+New, completely set up dynamic worker node key.
+ +Inherited from FixedClusterPool.createAndSetupDynamicWorkerNode
Protected
createProtected
createCreates a new worker and sets it up completely in the pool worker nodes.
- -New, completely set up worker.
+Creates a new, completely set up worker node.
Inherited from FixedClusterPool.createAndSetupWorker
+New, completely set up worker node key.
+ +Inherited from FixedClusterPool.createAndSetupWorkerNode
Protected
createProtected
createReturns a newly created worker.
+Creates a new worker.
Newly created worker.
+ +Inherited from FixedClusterPool.createWorker
Protected
deregisterShutdowns every current worker in this pool.
+Deregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
Inherited from FixedClusterPool.deregisterWorkerMessageListener
+Terminates all workers in this pool.
+Inherited from FixedClusterPool.destroy
Protected
destroyProtected
destroyShutdowns the given worker.
+Terminates the worker node given its worker node key.
A worker within workerNodes
.
Inherited from FixedClusterPool.destroyWorker
+The worker node key.
+Inherited from FixedClusterPool.destroyWorkerNode
Enables/disables the worker tasks queue in this pool.
+Enables/disables the worker node tasks queue in this pool.
Whether to enable or disable the worker tasks queue.
-Whether to enable or disable the worker node tasks queue.
+Optional
opts: TasksQueueOptionsOptional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
+Inherited from FixedClusterPool.enableTasksQueue
Executes the function specified in the constructor with the task data parameter.
- -Promise that will be resolved when the task is successfully completed.
+Executes the specified function in the worker constructor with the task data input parameter.
The input for the specified task. This can only be serializable data.
-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.
+ +Inherited from FixedClusterPool.execute
Protected
flagFinds a free worker node key based on the number of tasks the worker has applied.
-If a worker is found with 0
running tasks, it is detected as free and its worker node key is returned.
If no free worker is found, -1
is returned.
Inherited from FixedClusterPool.flagWorkerNodeAsNotReady
+Protected
flushInherited from FixedClusterPool.flushTasksQueue
+Protected
getGets the worker information given its worker node key.
+The worker node key.
+The worker information.
+ +Inherited from FixedClusterPool.getWorkerInfo
+Whether the specified task function exists in this pool.
+The name of the task function.
+true
if the task function exists, false
otherwise.
A worker node key if there is one, -1
otherwise.
Inherited from FixedClusterPool.hasTaskFunction
+Internal
+Whether the worker node has back pressure (i.e. its tasks queue is full).
Inherited from FixedClusterPool.findFreeWorkerNodeKey
+The worker node key.
+true
if the worker node has back pressure, false
otherwise.
Inherited from FixedClusterPool.hasWorkerNodeBackPressure
Protected
internalProtected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Worker nodes busyness boolean status.
+ +Inherited from FixedClusterPool.internalBusy
Protected
isProtected
isShould return whether the worker is the main worker or not.
Inherited from FixedClusterPool.isMain
Protected
registerRegisters a listener callback on the given worker.
+Lists the names of task function available in this pool.
The names of task function available in this pool.
+ +Inherited from FixedClusterPool.listTaskFunctionNames
+Protected
registerThe worker which should register a listener.
-The worker node key.
+The message listener callback.
Inherited from FixedClusterPool.registerOnceWorkerMessageListener
+Protected
registerRegisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Inherited from FixedClusterPool.registerWorkerMessageListener
Protected
sendRemoves a task function from this pool.
+The name of the task function.
+true
if the task function was removed, false
otherwise.
Inherited from FixedClusterPool.removeTaskFunction
+Protected
sendInherited from FixedClusterPool.sendKillMessageToWorker
+Protected
sendSends a message to the given worker.
+Sends the startup message to worker given its worker node key.
The worker which should receive the message.
-The worker node key.
+Inherited from FixedClusterPool.sendStartupMessageToWorker
+Protected
sendSends a message to worker given its worker node key.
+The worker node key.
+The message.
-Inherited from FixedClusterPool.sendToWorker
Sets the worker tasks queue options in this pool.
+Sets the default task function in this pool.
The worker tasks queue options.
-The name of the task function.
+true
if the default task function was set, false
otherwise.
Inherited from FixedClusterPool.setDefaultTaskFunction
+Sets the worker node tasks queue options in this pool.
+The worker node tasks queue options.
+Inherited from FixedClusterPool.setTasksQueueOptions
Sets the worker choice strategy in this pool.
The worker choice strategy.
-Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsOptional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
-Inherited from FixedClusterPool.setWorkerChoiceStrategy
Sets the worker choice strategy options in this pool.
The worker choice strategy options.
-Inherited from FixedClusterPool.setWorkerChoiceStrategyOptions
Protected
setupProtected
setupSetup hook to execute code before worker node are created in the abstract constructor. -Can be overridden
+Setup hook to execute code before worker nodes are created in the abstract constructor. +Can be overridden.
Inherited from FixedClusterPool.setupHook
Protected
workerThis function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
+Starts the minimum number of workers in this pool.
Inherited from FixedClusterPool.start
+Protected
workerThis function 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 message listener registered on each worker.
Inherited from FixedClusterPool.workerListener
+Inherited from FixedClusterPool.workerMessageListener
Generated using TypeDoc
Generated using TypeDoc
+ \ No newline at end of file
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
.