X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fclasses%2FAbstractPool.html;h=4055b13d04f4e8f287e13f5ffa5ee93ee61e1ab6;hb=d3a9c958dcc326062e978f22d88747c00522032d;hp=5383b56b85201d0e7769cab1c0586379afaa6d22;hpb=7d3ed70ed3ebb6a3656041db3c6ea23a1f354616;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 5383b56b..4055b13d 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,934 +1,233 @@ -
Abstract
Type of worker which manages this pool.
-Type of data sent to the worker. This can only be serializable data.
-Type of execution response. This can only be serializable data.
-Constructs a new poolifier pool.
-Number of workers that this pool should manage.
-Path to the worker-file.
-Options for the pool.
-Optional
Readonly
emitterEmitter on which events can be listened to.
+Abstract
Base class that implements some shared logic for all poolifier pools.
+Type of worker which manages this pool.
+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 pool.
+Minimum number of workers that this pool manages.
+Path to the worker file.
+Options for the pool.
+Optional
maximumNumberOfWorkers: numberMaximum number of workers that this pool manages.
+Private
destroyingWhether the pool is destroying or not.
+Optional
emitterPool event emitter integrated with async resource.
+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. If the pool is dynamic with a minimum number of workers is set to zero, this event is emitted when at least one dynamic worker is 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.'empty'
: Emitted when the pool is dynamic with a minimum number of workers set to zero and the number of workers has reached the minimum 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.
-Readonly
numberNumber of workers that this pool should manage.
-Readonly
optsOptions for the pool.
-Protected
promiseThe execution response promise map.
+Protected
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 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.
-Default to a round robin algorithm.
-Readonly
workerPool worker nodes.
-Protected
Abstract
busyWhether the pool is busy or not.
+Private
readyWhether the pool ready event has been emitted or not.
+Private
Readonly
startThe start timestamp of the pool.
+Private
startedWhether the pool is started or not.
+Private
startingWhether the pool is starting or not.
+Private
startingWhether the minimum number of workers is starting or not.
+Private
Readonly
taskThe task functions added at runtime map:
+key
: The task function name.value
: The task function itself.Protected
Optional
workerWorker choice strategy context referencing a worker choice algorithm implementation.
+Readonly
Internal
workerPool worker nodes.
+Protected
Abstract
busyWhether the pool is busy or not.
The pool busyness boolean status.
-Protected
Abstract
fullWhether the pool is full or not.
+Protected
emptyThe pool emptiness boolean status.
+Protected
fullWhether the pool is full or not.
The pool filling boolean status.
-Private
numberNumber of tasks queued in the pool.
-Private
numberNumber of tasks running in the pool.
-Abstract
typePool type.
+Private
readyThe pool readiness boolean status.
+Protected
Abstract
typeThe pool type.
If it is 'dynamic'
, it provides the max
property.
Protected
afterHook executed after the worker task execution. +
Private
utilizationThe approximate pool utilization.
+The pool utilization.
+Protected
Abstract
workerThe worker type.
+Private
addAdds the given worker node in the pool worker nodes.
+The worker node.
+The added worker node key.
+https://nodejs.org/api/errors.html#class-error If the added worker node is not found.
+Protected
afterHook executed after the worker task execution. Can be overridden.
-The worker.
-The received message.
-Protected
Abstract
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.
The newly created worker.
-Protected
beforeHook executed before the worker task execution. +
The worker node key.
+The received message.
+Protected
afterPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkProtected
chooseChooses a worker node for the next task.
-The default uses a round robin algorithm to distribute the load.
- -[worker node key, worker node].
-Protected
createProtected
Abstract
createPrivate
dequeueProtected
Abstract
destroyPrivate
enqueuePerforms the task specified in the constructor with the data parameter.
- -Promise that will be resolved when the task is successfully completed.
-The input for the specified task. This can only be serializable data.
-Private
executeFinds 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.
A worker node key if there is one, -1
otherwise.
Private
flushPrivate
flushPrivate
getPrivate
getGets the given worker its tasks usage in the pool.
- -The worker tasks usage.
-The worker.
-Protected
internalProtected
Abstract
isPrivate
pushProtected
Abstract
registerRegisters a listener callback on the given worker.
-The worker which should register a listener.
-The message listener callback.
-Private
removeProtected
Abstract
sendSends a message to the given worker.
-The worker which should receive the message.
-The message.
-Sets the worker choice strategy in this pool.
-The worker choice strategy.
-Private
setSets the given worker in the pool worker nodes.
-The worker node key.
-The worker.
-The worker tasks usage.
-The worker task queue.
-Private
setSets the given worker node its tasks usage in the pool.
-The worker node.
-The worker node tasks usage.
-Protected
setupPrivate
tasksProtected
workerThis function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
-This function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
-Generated using TypeDoc
The newly created worker node key.
+Protected
beforePrivate
buildPrivate
cannotProtected
Abstract
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkChecks if the worker id sent in the received message from a worker is valid.
+The received message.
+https://nodejs.org/api/errors.html#class-error If the worker id is invalid.
+Private
checkPrivate
checkPrivate
checkPrivate
checkPrivate
chooseProtected
createProtected
createPrivate
createCreates a worker node.
+The created worker node.
+Private
deletePrivate
dequeueProtected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Protected
destroyOptional
tasksQueueOptions: TasksQueueOptionsPrivate
enqueuePrivate
executeProtected
flagProtected
flushPrivate
flushProtected
getGets the worker information given its worker node key.
+The worker node key.
+The worker information.
+Private
getPrivate
handlePrivate
handlePrivate
Readonly
handlePrivate
Readonly
handleOptional
previousStolenTask: Task<Data>Private
handlePrivate
hasPrivate
initializeProtected
internalProtected
Abstract
isPrivate
isPrivate
redistributeProtected
Abstract
registerRegisters once a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Protected
Abstract
registerRegisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Private
removeRemoves the worker node from the pool worker nodes.
+The worker node.
+Private
resetPrivate
resetPrivate
sendProtected
Abstract
sendPrivate
sendPrivate
sendPrivate
sendProtected
Abstract
sendSends a message to worker given its worker node key.
+The worker node key.
+The message.
+Optional
transferList: TransferListItem[]The optional array of transferable objects.
+Private
setPrivate
setPrivate
setOptional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsProtected
setupProtected
Abstract
shallPrivate
shallPrivate
shallPrivate
startPrivate
tasksPrivate
unsetPrivate
unsetPrivate
updatePrivate
updatePrivate
updateProtected
Readonly
workerThis method is the message listener registered on each worker.
+Private
Readonly
workerGenerated using TypeDoc
Base class that implements some shared logic for all poolifier pools.
-