X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FDynamicClusterPool.html;h=2c08b7ebb719b05ee671cb3e58b23748cf6137a1;hb=76369162548ededf89e0d513174a943cc330245c;hp=de57c48009493a1457e94d8ca14f4a08a5cccb09;hpb=2a7995b1242609d257b82b043ee772ee49f5c7ec;p=poolifier.git diff --git a/docs/classes/DynamicClusterPool.html b/docs/classes/DynamicClusterPool.html index de57c480..2c08b7eb 100644 --- a/docs/classes/DynamicClusterPool.html +++ b/docs/classes/DynamicClusterPool.html @@ -1,15 +1,15 @@ -
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
emitter{@inheritDoc}
-Protected
Readonly
maxMaximum number of workers that can be created by this pool.
-Protected
nextId of the next message.
-Inherited from FixedClusterPool.nextMessageId
+Inherited from FixedClusterPool.max
Readonly
numberProtected
Readonly
numberNumber of workers that this pool should manage.
-Inherited from FixedClusterPool.numberOfWorkers
Readonly
optsProtected
Readonly
optsOptions for this fixed cluster pool.
-Inherited from FixedClusterPool.opts
Protected
promiseThe promise map.
+Protected
promiseThe task execution response promise map:
key
: This is the message Id of each submitted task.value
: An object that contains the worker, the resolve function and the reject function.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 and resolve/reject the promise based on the message.
-Inherited from FixedClusterPool.promiseMap
-Protected
workerWorker choice strategy instance implementing the worker choice algorithm.
-Default to a strategy implementing a round robin algorithm.
-Inherited from FixedClusterPool.workerChoiceStrategyContext
+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
Readonly
workers{@inheritDoc}
-Inherited from FixedClusterPool.workers
+Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
+Inherited from FixedClusterPool.workerChoiceStrategyContext
Readonly
workers{@inheritDoc}
-Inherited from FixedClusterPool.workersTasksUsage
+Readonly
Internal
workerPool worker nodes.
+Inherited from FixedClusterPool.workerNodes
Protected
busy{@inheritDoc}
+Whether the pool is busy or not.
+The pool busyness boolean status.
Overrides FixedClusterPool.busy
Protected
fullWhether the pool is full or not.
+The pool filling boolean status.
+Inherited from FixedClusterPool.full
+Pool information.
+Inherited from FixedClusterPool.info
+Protected
maxThe pool maximum size.
+Inherited from FixedClusterPool.maxSize
+Protected
minThe pool minimum size.
+Inherited from FixedClusterPool.minSize
+Private
ready{@inheritDoc}
+The pool readiness boolean status.
Inherited from FixedClusterPool.numberOfRunningTasks
+Inherited from FixedClusterPool.ready
Protected
type{@inheritDoc}
+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
afterHook executed after the worker task promise resolution. -Can be overridden.
+Adds a task function to this pool. +If a task function with the same name already exists, it will be overwritten.
The received message.
-The name of the task function.
+The Promise response.
-Inherited from FixedClusterPool.afterPromiseWorkerResponseHook
+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
afterProtected
after{@inheritDoc}
+Hook executed after the worker task execution. +Can be overridden.
Inherited from FixedClusterPool.afterWorkerSetup
+The worker node key.
+The received message.
+Inherited from FixedClusterPool.afterTaskExecutionHook
Protected
beforeProtected
afterHook executed before the worker task promise resolution. +
Method hooked up after a worker node has been newly created. Can be overridden.
The worker.
-Inherited from FixedClusterPool.beforePromiseWorkerResponseHook
+The newly created worker node key.
+Inherited from FixedClusterPool.afterWorkerNodeSetup
Protected
chooseProtected
beforeChooses a worker for the next task.
-The default implementation uses a round robin algorithm to distribute the load.
- -Worker.
+Hook executed before the worker task execution. +Can be overridden.
+The worker node key.
Inherited from FixedClusterPool.chooseWorker
+The task to execute.
+Inherited from FixedClusterPool.beforeTaskExecutionHook
Protected
createProtected
createCreates a new worker for this pool and sets it up completely.
+Creates a new, completely set up dynamic worker node.
+New, completely set up dynamic worker node key.
-New, completely set up worker.
+Inherited from FixedClusterPool.createAndSetupDynamicWorkerNode
+Protected
createCreates a new, completely set up worker node.
Inherited from FixedClusterPool.createAndSetupWorker
+New, completely set up worker node key.
+ +Inherited from FixedClusterPool.createAndSetupWorkerNode
Protected
createProtected
create{@inheritDoc}
+Creates a new worker.
Newly created worker.
+ +Inherited from FixedClusterPool.createWorker
Protected
deregisterDeregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Inherited from FixedClusterPool.deregisterWorkerMessageListener
+{@inheritDoc}
+Terminates all workers in this pool.
Inherited from FixedClusterPool.destroy
Protected
destroy{@inheritDoc}
+Terminates the worker node given its worker node key.
Inherited from FixedClusterPool.destroyWorker
+The worker node key.
+Inherited from FixedClusterPool.destroyWorkerNode
{@inheritDoc}
+Enables/disables the worker node tasks queue in this pool.
Inherited from FixedClusterPool.execute
+Whether to enable or disable the worker node tasks queue.
+Optional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
+Inherited from FixedClusterPool.enableTasksQueue
{@inheritDoc}
+Executes the specified function in the worker constructor with the task data input parameter.
Inherited from FixedClusterPool.findFreeWorker
+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
flagInherited from FixedClusterPool.flagWorkerNodeAsNotReady
+Protected
flush{@inheritDoc}
-Inherited from FixedClusterPool.getWorkerAverageTasksRunTime
+Inherited from FixedClusterPool.flushTasksQueue
Protected
get{@inheritDoc}
+Gets the worker information given its worker node key.
Inherited from FixedClusterPool.getWorkerIndex
+The worker node key.
+The worker information.
+ +Inherited from FixedClusterPool.getWorkerInfo
{@inheritDoc}
+Whether the specified task function exists in this pool.
+The name of the task function.
+true
if the task function exists, false
otherwise.
Inherited from FixedClusterPool.hasTaskFunction
+Internal
+Whether the worker node has back pressure (i.e. its tasks queue is full).
Inherited from FixedClusterPool.getWorkerRunningTasks
+The worker node key.
+true
if the worker node has back pressure, false
otherwise.
Inherited from FixedClusterPool.hasWorkerNodeBackPressure
Protected
internalProtected
internalInherited from FixedClusterPool.internalGetBusyStatus
+Whether worker nodes are executing concurrently their tasks quota or not.
+Worker nodes busyness boolean status.
+ +Inherited from FixedClusterPool.internalBusy
Protected
isProtected
is{@inheritDoc}
+Should return whether the worker is the main worker or not.
Inherited from FixedClusterPool.isMain
{@inheritDoc}
+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 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
removeRemoves the given worker from the pool.
+Removes a task function from this pool.
The worker that will be removed.
-Inherited from FixedClusterPool.removeWorker
+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 the startup message to worker given its worker node key.
+The worker node key.
+Inherited from FixedClusterPool.sendStartupMessageToWorker
Protected
sendProtected
send{@inheritDoc}
+Sends a message to worker given its worker node key.
The worker node key.
+The message.
+Inherited from FixedClusterPool.sendToWorker
{@inheritDoc}
+Sets the default task function in this pool.
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: WorkerChoiceStrategyOptionsThe worker choice strategy options.
+Inherited from FixedClusterPool.setWorkerChoiceStrategy
Protected
setup{@inheritDoc}
+Sets the worker choice strategy options in this pool.
The worker choice strategy options.
+Inherited from FixedClusterPool.setWorkerChoiceStrategyOptions
+Protected
setupSetup 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.
- -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.
- -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
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, an event is emitted. If you want to listen to this event, use the pool's
- -emitter
.Author
Christopher Quadflieg
+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'semitter
. +Author
Christopher Quadflieg
-Since
2.0.0
+Since
2.0.0