X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FFixedClusterPool.html;h=9ae89b09e3aae3a0d35cdf97aa90287ffb6cda0f;hb=05132b129c331aeec41f5878d58456675e00dbd4;hp=7c57b50caa25318404d5db0f6af689cc83fd482d;hpb=b10bb04924a5918496ff64a62ae71b9f99239b28;p=poolifier.git diff --git a/docs/classes/FixedClusterPool.html b/docs/classes/FixedClusterPool.html index 7c57b50c..9ae89b09 100644 --- a/docs/classes/FixedClusterPool.html +++ b/docs/classes/FixedClusterPool.html @@ -1,15 +1,15 @@ -
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 response of execution. This can only be serializable data.
-Type of execution response. This can only be structured-cloneable data.
+Constructs a new poolifier fixed cluster pool.
Number of workers for this pool.
-Path to an implementation of a ClusterWorker
file, which can be relative or absolute.
Options for this fixed cluster pool.
-Overrides AbstractPool<Worker, Data, Response>.constructor
+Overrides AbstractPool.constructor
Optional
Readonly
emitterInherited from AbstractPool.emitter
-Readonly
filePath to the worker-file.
-Inherited from AbstractPool.filePath
+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:
+'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).Inherited from AbstractPool.emitter
+Protected
Readonly
filePath to the worker file.
+Inherited from AbstractPool.filePath
Readonly
numberProtected
Optional
Readonly
maxDynamic pool maximum size property placeholder.
+Inherited from AbstractPool.max
+Protected
Readonly
numberNumber of workers that this pool should manage.
-Inherited from AbstractPool.numberOfWorkers
+Inherited from AbstractPool.numberOfWorkers
Readonly
optsProtected
Readonly
optsOptions for this fixed cluster pool.
-Inherited from AbstractPool.opts
+Inherited from AbstractPool.opts
Protected
promiseThe promise response map.
+Protected
promiseThe task execution response promise map:
key
: The message id of each submitted task.value
: An object that contains the worker, the promise resolve and reject callbacks.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.
-Inherited from AbstractPool.promiseResponseMap
+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 AbstractPool.promiseResponseMap
Protected
workerProtected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
-Default to a round robin algorithm.
-Inherited from AbstractPool.workerChoiceStrategyContext
+Inherited from AbstractPool.workerChoiceStrategyContext
Readonly
workerInherited from AbstractPool.workerNodes
+Readonly
Internal
workerPool worker nodes.
+Inherited from AbstractPool.workerNodes
Protected
busyWhether the pool is busy or not.
+The pool busyness boolean status.
+Overrides AbstractPool.busy
Protected
fullOverrides AbstractPool.full
+Whether the pool is full or not.
+The pool filling boolean status.
+Inherited from AbstractPool.full
Private
numberNumber of tasks queued in the pool.
+Pool information.
Inherited from AbstractPool.numberOfQueuedTasks
+Inherited from AbstractPool.info
Private
numberProtected
maxNumber of tasks running in the pool.
+The pool maximum size.
Inherited from AbstractPool.numberOfRunningTasks
+Inherited from AbstractPool.maxSize
Protected
minThe pool minimum size.
+Inherited from AbstractPool.minSize
+Private
readyThe pool readiness boolean status.
+Inherited from AbstractPool.ready
+Protected
typeThe pool type.
+If it is 'dynamic'
, it provides the max
property.
Overrides AbstractPool.type
Private
utilizationThe approximate pool utilization.
+The pool utilization.
+ +Inherited from AbstractPool.utilization
+Protected
workerThe worker type.
+Overrides AbstractPool.worker
+Protected
afterAdds 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.
Inherited from AbstractPool.addTaskFunction
+Protected
afterHook executed after the worker task promise resolution. +
Hook executed after the worker task execution. Can be overridden.
The worker.
-The worker node key.
+The received message.
-Inherited from AbstractPool.afterPromiseResponseHook
+Inherited from AbstractPool.afterTaskExecutionHook
Protected
afterProtected
afterInherited from AbstractPool.afterWorkerNodeSetup
Protected
beforeProtected
beforeHook executed before the worker task promise resolution. +
Hook executed before the worker task execution. Can be overridden.
The worker node key.
-Inherited from AbstractPool.beforePromiseResponseHook
+The task to execute.
+Inherited from AbstractPool.beforeTaskExecutionHook
Protected
chooseProtected
createChooses a worker node for the next task.
-The default uses a round robin algorithm to distribute the load.
- -[worker node key, worker node].
+Creates a new, completely set up dynamic worker node.
Inherited from AbstractPool.chooseWorkerNode
+New, completely set up dynamic worker node key.
+ +Inherited from AbstractPool.createAndSetupDynamicWorkerNode
Protected
createProtected
createCreates a new worker and sets it up completely in the pool worker nodes.
- -New, completely set up worker.
+Creates a new, completely set up worker node.
Inherited from AbstractPool.createAndSetupWorker
+New, completely set up worker node key.
+ +Inherited from AbstractPool.createAndSetupWorkerNode
Protected
createProtected
createOverrides AbstractPool.createWorker
+Creates a new worker.
+Newly created worker.
+ +Overrides AbstractPool.createWorker
Protected
dequeueProtected
deregisterDeregisters a listener callback on the worker given its worker node key.
+Inherited from AbstractPool.dequeueTask
+The worker node key.
+The message listener callback.
+Overrides AbstractPool.deregisterWorkerMessageListener
Inherited from AbstractPool.destroy
+Terminates all workers in this pool.
+Inherited from AbstractPool.destroy
Protected
destroyOverrides AbstractPool.destroyWorkerNode
Protected
enqueueEnables/disables the worker node tasks queue in this pool.
+Whether to enable or disable the worker node tasks queue.
+Inherited from AbstractPool.enqueueTask
+Optional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
+Inherited from AbstractPool.enableTasksQueue
Executes the specified function in the worker constructor with the task data input parameter.
+Inherited from AbstractPool.execute
+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 AbstractPool.execute
Protected
flagInherited from AbstractPool.findFreeWorkerNodeKey
+Inherited from AbstractPool.flagWorkerNodeAsNotReady
Protected
flushProtected
flushInherited from AbstractPool.flushTasksQueue
+Inherited from AbstractPool.flushTasksQueue
Protected
flushProtected
getGets the worker information given its worker node key.
+Inherited from AbstractPool.flushTasksQueueByWorker
+The worker node key.
+The worker information.
+ +Inherited from AbstractPool.getWorkerInfo
+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 AbstractPool.hasTaskFunction
Protected
internalInternal
+Whether the worker node has back pressure (i.e. its tasks queue is full).
+The worker node key.
+true
if the worker node has back pressure, false
otherwise.
Inherited from AbstractPool.hasWorkerNodeBackPressure
+Protected
internalInherited from AbstractPool.internalBusy
+Whether worker nodes are executing concurrently their tasks quota or not.
+Worker nodes busyness boolean status.
+ +Inherited from AbstractPool.internalBusy
Protected
isProtected
isOverrides AbstractPool.isMain
+Should return whether the worker is the main worker or not.
+Overrides AbstractPool.isMain
Lists the names of task function available in this pool.
+The names of task function available in this pool.
+ +Inherited from AbstractPool.listTaskFunctionNames
+Protected
registerThe worker node key.
+The message listener callback.
+Overrides AbstractPool.registerWorkerMessageListener
+Overrides AbstractPool.registerOnceWorkerMessageListener
Protected
removeProtected
registerRemoves the given worker from the pool worker nodes.
+Registers a listener callback on the worker given its worker node key.
The worker.
-Inherited from AbstractPool.removeWorkerNode
-Protected
sendThe worker node key.
+The message listener callback.
+Overrides AbstractPool.registerWorkerMessageListener
+Removes a task function from this pool.
+Overrides AbstractPool.sendToWorker
+The name of the task function.
+true
if the task function was removed, false
otherwise.
Inherited from AbstractPool.removeTaskFunction
Protected
sendInherited from AbstractPool.setWorkerChoiceStrategy
+Inherited from AbstractPool.sendKillMessageToWorker
Protected
setupProtected
sendOverrides AbstractPool.setupHook
+Sends the startup message to worker given its worker node key.
+The worker node key.
+Overrides AbstractPool.sendStartupMessageToWorker
Protected
tasksProtected
sendSends a message to worker given its worker node key.
+Inherited from AbstractPool.tasksQueueLength
+The worker node key.
+The message.
+Overrides AbstractPool.sendToWorker
Protected
workerThis function is the listener registered for each worker message.
+Sets the default task function in this pool.
+The name of the task function.
+true
if the default task function was set, false
otherwise.
The listener function to execute when a message is received from a worker.
+Inherited from AbstractPool.setDefaultTaskFunction
+Sets the worker node tasks queue options in this pool.
The worker node tasks queue options.
+Inherited from AbstractPool.setTasksQueueOptions
+This function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
+Sets the worker choice strategy in this pool.
+The worker choice strategy.
+Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
+Inherited from AbstractPool.setWorkerChoiceStrategy
+Sets the worker choice strategy options in this pool.
+The worker choice strategy options.
+Inherited from AbstractPool.setWorkerChoiceStrategyOptions
+Protected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. +Can be overridden.
+Overrides AbstractPool.setupHook
+Starts the minimum number of workers in this pool.
+Inherited from AbstractPool.start
+Protected
workerThis method is the message listener registered on each worker.
Inherited from AbstractPool.workerListener
+Inherited from AbstractPool.workerMessageListener
Generated using TypeDoc
Generated using TypeDoc
A cluster pool with a fixed number of workers.
-It is possible to perform tasks in sync or asynchronous mode as you prefer.
-This pool selects the workers in a round robin fashion.
- -Author
Christopher Quadflieg
+Author
Christopher Quadflieg
-Since
2.0.0
+Since
2.0.0