X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fclasses%2FAbstractPool.html;h=47a0a827782a198519d53d82dfc98c9862be0784;hb=ef9f489c870680b9a754ab8e5b142b3f042a9ebb;hp=932cea0e545b178f50a6616a75c00bb10ed5d721;hpb=13aa72e5091fcfe52dcd2acf1039091e1d55ea32;p=poolifier.git diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html index 932cea0e..47a0a827 100644 --- a/docs/classes/AbstractPool.html +++ b/docs/classes/AbstractPool.html @@ -1,4 +1,4 @@ -
Abstract
Type of worker which manages this pool.
-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 pool.
Number of workers that this pool should manage.
-Path to the worker file.
-Options for the pool.
-Optional
Readonly
emitterOptional
Readonly
emitterEmitter on which events can be listened to.
Events that can currently be listened to:
'full'
: Emitted when the pool is dynamic and full.'busy'
: Emitted when the pool is busy.'full'
: Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.'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 at least one task.'error'
: Emitted when an uncaught error occurs.'taskError'
: Emitted when an error occurs while executing a task.Implementation of IPool.emitter
Readonly
fileProtected
Readonly
filePath to the worker file.
-Readonly
numberProtected
Readonly
numberNumber of workers that this pool should manage.
-Readonly
optsProtected
Readonly
optsOptions for the pool.
-Protected
promiseProtected
promiseThe 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.
-Private
Readonly
startThe start timestamp of the pool.
+Protected
workerProtected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
-Default to a round robin algorithm.
-Readonly
workerReadonly
workerPool worker nodes.
-Implementation of IPool.workerNodes
Protected
Abstract
busyProtected
Abstract
busyWhether the pool is busy or not.
The pool busyness boolean status.
Protected
Abstract
fullProtected
fullWhether the pool is full or not.
The pool filling boolean status.
Private
numberNumber of tasks queued in the pool.
+Pool information.
Private
numberProtected
Abstract
maxNumber of tasks running in the pool.
+Pool maximum size.
Abstract
typeProtected
Abstract
minPool minimum size.
+Private
readyPrivate
startingProtected
Abstract
typePool type.
If it is 'dynamic'
, it provides the max
property.
Private
utilizationGets the approximate pool utilization.
+The pool utilization.
+ +Protected
Abstract
workerGets the worker type.
+Protected
afterProtected
afterHook executed after the worker task execution. Can be overridden.
@@ -286,38 +382,43 @@ Can be overridden.The worker.
-The received message.
-Protected
Abstract
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.
Function that can be hooked up when a worker has been newly created and moved to the pool worker nodes. +Can be overridden.
The newly created worker.
-Protected
beforeProtected
beforeHook executed before the worker task execution. Can be overridden.
@@ -326,178 +427,243 @@ Can be overridden.The worker node key.
-The task to execute.
+Private
buildPrivate
checkProtected
checkPrivate
buildPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkPrivate
checkProtected
choosePrivate
chooseChooses a worker node for the next task.
-The default uses a round robin algorithm to distribute the load.
+The default worker choice strategy uses a round robin algorithm to distribute the tasks.
+The worker node key
-[worker node key, worker node].
+Protected
createCreates a new dynamic worker and sets it up completely in the pool worker nodes.
New, completely set up dynamic worker.
+ +Protected
createProtected
createCreates a new worker and sets it up completely in the pool worker nodes.
- -New, completely set up worker.
New, completely set up worker.
+ +Protected
Abstract
createProtected
Abstract
createReturns a newly created worker.
+Creates a new worker.
Newly created worker.
+ +Private
dequeuePrivate
dequeueShutdowns every current worker in this pool.
+Terminates every current worker in this pool.
Implementation of IPool.destroy
+Implementation of IPool.destroy
Protected
Abstract
destroyProtected
Abstract
destroyShutdowns the given worker.
+Terminates the given worker.
A worker within workerNodes
.
Enables/disables the worker tasks queue in this pool.
Whether to enable or disable the worker tasks queue.
-Optional
tasksQueueOptions: TasksQueueOptionsOptional
tasksQueueOptions: TasksQueueOptionsThe worker tasks queue options.
-Implementation of IPool.enableTasksQueue
+ + +Implementation of IPool.enableTasksQueue
Private
enqueuePrivate
enqueueExecutes the function specified in the worker constructor with the task data input parameter.
- -Promise that will be fulfilled when the task is completed.
+Executes the specified function in the worker constructor with the task data input parameter.
Optional
data: DataThe task input data for the specified worker function. This can only be serializable data.
-Implementation of IPool.execute
-Private
executeOptional
data: DataThe task input data for the specified worker function. This can only be structured-cloneable data.
+Optional
name: stringThe name of the worker function to execute. If not specified, the default worker function will be executed.
+Promise that will be fulfilled when the task is completed.
+ +Implementation of IPool.execute
+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.
Implementation of IPool.findFreeWorkerNodeKey
-Private
flushPrivate
flushPrivate
flushPrivate
flushPrivate
getGet the worker given its id.
+The worker id.
+The worker if found in the pool worker nodes, undefined
otherwise.
Private
flushPrivate
getGets the worker information.
+The worker node key.
+Private
getPrivate
getGets the given worker its worker node key.
- -The worker node key if the worker is found in the pool worker nodes, -1
otherwise.
The worker.
-The worker node key if found in the pool worker nodes, -1
otherwise.
Private
getPrivate
handleGets the given worker its tasks usage in the pool.
- -Error if the worker is not found in the pool worker nodes.
- -The worker tasks usage.
-The worker.
-Protected
internalPrivate
handleProtected
internalWhether worker nodes are executing at least one task.
+Worker nodes busyness boolean status.
+ +Protected
Abstract
isProtected
Abstract
isShould return whether the worker is the main worker or not.
Private
pushPrivate
pushPushes the given worker in the pool worker nodes.
- -The worker nodes length.
The worker.
-The worker nodes length.
+ +Protected
Abstract
registerPrivate
redistributePrivate
registerThe worker which should register a listener.
-The message listener callback.
Private
removePrivate
removeRemoves the given worker from the pool worker nodes.
The worker.
-Protected
Abstract
sendProtected
Abstract
sendSends a message to the given worker.
The worker which should receive the message.
-The message.
-Sets the worker tasks queue options in this pool.
The worker tasks queue options.
-Implementation of IPool.setTasksQueueOptions
+ +Implementation of IPool.setTasksQueueOptions
Sets the worker choice strategy in this pool.
The worker choice strategy.
-Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsOptional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
-Implementation of IPool.setWorkerChoiceStrategy
+ + +Implementation of IPool.setWorkerChoiceStrategy
Sets the worker choice strategy options in this pool.
The worker choice strategy options.
-Implementation of IPool.setWorkerChoiceStrategyOptions
+Private
setImplementation of IPool.setWorkerChoiceStrategyOptions
Private
setProtected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. +Can be overridden.
+Private
shallSets the given worker in the pool worker nodes.
+Conditions for dynamic worker creation.
Whether to create a dynamic worker or not.
+ +Private
tasksThe worker node key.
-The worker.
-Private
updateThe worker tasks usage.
-The worker task queue.
-Private
setPrivate
updateSets the given worker node its tasks usage in the pool.
-The worker node.
-The worker node tasks usage.
-Protected
setupPrivate
updateSetup hook to execute code before worker node are created in the abstract constructor. -Can be overridden
-Private
tasksPrivate
updateProtected
workerProtected
workerThis function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
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.
The listener function to execute when a message is received from a worker.
+ + +Generated using TypeDoc
Base class that implements some shared logic for all poolifier pools.
-