X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=d100e14889ec71c12977e9f0c175905c3351b81a;hb=0c08a68126fb979702391dcf7dc01b0a9a8ba52f;hp=bbf54f00db34154818fd58f140ae7e2f1fa2ea38;hpb=d49303bcd1dc86f36030dff08796f869681d4eae;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index bbf54f00..5587e669 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,935 +1,264 @@ -
Abstract
Type of worker which manages this pool.
-Type of data sent to the worker. This can only be serializable data.
-Type of response of execution. 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.
+Number of workers that this pool should manage.
+Path to the worker file.
+Options for the pool.
+Private
destroyingWhether the pool is destroying or not.
+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.
-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
maxDynamic pool maximum size property placeholder.
+Protected
Readonly
numberNumber of workers that this pool should manage.
+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.
-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
Readonly
taskThe task functions added at runtime map:
+key
: The task function name.value
: The task function itself.Protected
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.
-Abstract
fullWhether the pool is full or not.
+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.
+Protected
maxThe pool maximum size.
+Protected
minThe pool minimum size.
+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.
+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.
Private
addAdds the given worker in the pool worker nodes.
+The worker.
+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
beforeHook executed before the worker task execution. +Can be overridden.
+The worker node key.
+The task to execute.
+Private
buildPrivate
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
chooseProtected
createProtected
createProtected
Abstract
createPrivate
deletePrivate
dequeueProtected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Protected
Abstract
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.
+Private
enqueueExecutes 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 chosen 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.
+Private
executeExecutes the given task on the worker given its worker node key.
+The worker node key.
+The task to execute.
+Protected
flagProtected
flushPrivate
flushProtected
getGets the worker information given its worker node key.
+The worker node key.
+The worker information.
+Private
getPrivate
getPrivate
Readonly
handlePrivate
Readonly
handlePrivate
handlePrivate
handlePrivate
hasPrivate
initializeProtected
internalProtected
Abstract
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
removeProtected
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
setSets the worker node tasks queue options in this pool.
+The worker node tasks queue options.
+Private
setPrivate
setSets 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
setupPrivate
shallPrivate
shallPrivate
shallPrivate
tasksPrivate
unsetPrivate
unsetPrivate
updatePrivate
updatePrivate
updatePrivate
updatePrivate
updateProtected
workerThis method is the message listener registered on each worker.
+Generated using TypeDoc
Base class that implements some shared logic for all poolifier pools.
-