X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fclasses%2FAbstractPool.html;h=23d24db211d348ae5695daad7e6c351dfa07daea;hb=1352ca70c0b5c6b4ff3813b0c24354b5514b2796;hp=766a23425b216f584b52812f9934d1edd5238619;hpb=12cbde7cd6a5ba982c321b633dc805cb417f93fd;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 766a2342..23d24db2 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,271 +1,260 @@ -
Abstract
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. +
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:
'ready'
: Emitted when the number of workers created in the pool has reached the minimum size expected and are ready.'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).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:
+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.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.
-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:
+Private
readyWhether the pool ready event has been emitted or not.
+Private
Optional
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.value
: The task function object.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.
-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
Abstract
typeThe pool type.
+Protected
Optional
workerWorker choice strategies context referencing worker choice algorithms implementation.
+Readonly
Internal
workerPool worker nodes.
+Protected
Abstract
busyWhether the pool is busy or not.
+The pool busyness boolean status.
+Protected
emptyWhether the pool is empty or not.
+The pool emptiness boolean status.
+Protected
fullWhether the pool is full or not.
+The pool fullness boolean status.
+Private
readyWhether the pool is ready or not.
+The pool readiness boolean status.
+Protected
Abstract
typeThe pool type.
If it is 'dynamic'
, it provides the max
property.
Private
utilizationThe approximate pool utilization.
+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 node in the pool worker nodes.
-The worker node.
+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
afterProtected
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. +
The worker node key.
+The received message.
+Protected
afterProtected
beforeProtected
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.
+Private
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
chooseProtected
createPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
chooseProtected
createProtected
createCreates a new, completely set up worker node.
+Protected
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
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
getGets the worker node key given its worker id.
-The worker id.
+Private
createCreates a worker node.
+The created worker node.
+Private
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
flushPrivate
Readonly
getGets task function worker choice strategy, if any.
+Optional
name: stringThe task function name.
+The task function worker choice strategy if the task function worker choice strategy is defined, undefined
otherwise.
Private
getPrivate
Readonly
getGets the worker choice strategies registered in this pool.
+The worker choice strategies.
+Protected
getGets the worker information given its worker node key.
+The worker node key.
+The worker information.
+Private
getPrivate
Readonly
handlePrivate
Readonly
handleOptional
previousStolenTask: Task<Data>Private
handlePrivate
handlePrivate
handlePrivate
hasPrivate
initializeProtected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Private
Readonly
getGets worker node task function priority, if any.
+The worker node key.
+Optional
name: stringThe task function name.
+The worker node task function priority if the worker node task function priority is defined, undefined
otherwise.
Private
Readonly
getGets worker node task function worker choice strategy, if any.
+The worker node key.
+Optional
name: stringThe task function name.
+The worker node task function worker choice strategy if the worker node task function worker choice strategy is defined, undefined
otherwise.
Private
handlePrivate
handlePrivate
Readonly
handlePrivate
Readonly
handleOptional
previousStolenTask: Task<Data>Private
handlePrivate
hasPrivate
initPrivate
initInitializes the worker node usage with sensible default values gathered during runtime.
+The worker node.
+Protected
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
resetProtected
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
setupSetup hook to execute code before worker nodes are created in the abstract constructor. +
Protected
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
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: readonly TransferListItem[]The optional array of transferable objects.
+Private
setPrivate
setPrivate
setPrivate
setOptional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsProtected
setupPrivate
shallProtected
Abstract
shallPrivate
shallPrivate
shallWhether the worker node shall update its task function worker usage or not.
-The worker node key.
+Private
shallPrivate
shallPrivate
tasksPrivate
unsetPrivate
unsetPrivate
updatePrivate
updatePrivate
updatePrivate
updatePrivate
updatePrivate
updatePrivate
updateProtected
Readonly
workerThis method is the message listener registered on each worker.
-Private
Readonly
workerGenerated using TypeDoc
Private
startPrivate
tasksPrivate
unsetPrivate
unsetPrivate
updatePrivate
updateProtected
Readonly
workerThis method is the message listener registered on each worker.
+The message received from the worker.
+Private
Readonly
worker
Base class that implements some shared logic for all poolifier pools.
-