X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FAbstractPool.html;h=bcf1047c5bb6d677bb5490f6171d2892b80a92b7;hb=388a5bee28fb64a2743d65189afd0a6e63314819;hp=445dea7c0570e63a67401f59d8e0344eb0517f50;hpb=38e6b85b3247f847b61f30efc37851489f106e8a;p=poolifier.git
diff --git a/docs/classes/AbstractPool.html b/docs/classes/AbstractPool.html
index 445dea7c..bcf1047c 100644
--- a/docs/classes/AbstractPool.html
+++ b/docs/classes/AbstractPool.html
@@ -1,8 +1,8 @@
-
AbstractPool | poolifier - v4.0.5Class AbstractPool<Worker, Data, Response>Abstract
Private
sendStatisticsMessageToWorker
- sendStatisticsMessageToWorker(workerNodeKey): void
Returns void
Private
sendTaskFunctionOperationToWorker
- sendTaskFunctionOperationToWorker(workerNodeKey, message): Promise<boolean>
Returns Promise<boolean>
Private
sendTaskFunctionOperationToWorkers
- sendTaskFunctionOperationToWorkers(message): Promise<boolean>
Returns Promise<boolean>
Protected
Abstract
sendToWorker
- sendToWorker(workerNodeKey, message, transferList?): void
Returns void
Private
sendTaskFunctionOperationToWorker
- sendTaskFunctionOperationToWorker(workerNodeKey, message): Promise<boolean>
Returns Promise<boolean>
Private
sendTaskFunctionOperationToWorkers
- sendTaskFunctionOperationToWorkers(message): Promise<boolean>
Returns Promise<boolean>
Protected
Abstract
sendToWorker
- sendToWorker(workerNodeKey, message, transferList?): void
Parameters
- workerNodeKey: number
- message: MessageValue<Data, unknown>
Optional
transferList: readonly TransferListItem[]
Returns void
setDefaultTaskFunction
- setDefaultTaskFunction(name): Promise<boolean>
Returns Promise<boolean>
Private
setTaskStealing
- setTaskStealing(): void
Returns void
setTasksQueueOptions
- setTasksQueueOptions(tasksQueueOptions): void
Returns void
Private
setTasksQueueSize
- setTasksQueueSize(size): void
Returns void
Private
setTasksStealingOnBackPressure
- setTasksStealingOnBackPressure(): void
Returns void
setWorkerChoiceStrategy
- setWorkerChoiceStrategy(workerChoiceStrategy, workerChoiceStrategyOptions?): void
Parameters
- workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"
Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
Returns void
setWorkerChoiceStrategyOptions
- setWorkerChoiceStrategyOptions(workerChoiceStrategyOptions): boolean
Returns boolean
Returns void
setDefaultTaskFunction
- setDefaultTaskFunction(name): Promise<boolean>
Returns Promise<boolean>
Private
setTaskStealing
- setTaskStealing(): void
Returns void
setTasksQueueOptions
- setTasksQueueOptions(tasksQueueOptions): void
Returns void
Private
setTasksQueuePriority
- setTasksQueuePriority(workerNodeKey): void
Returns void
Private
setTasksQueueSize
- setTasksQueueSize(size): void
Returns void
Private
setTasksStealingOnBackPressure
- setTasksStealingOnBackPressure(): void
Returns void
setWorkerChoiceStrategy
- setWorkerChoiceStrategy(workerChoiceStrategy, workerChoiceStrategyOptions?): void
Parameters
- workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"
Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
Returns void
setWorkerChoiceStrategyOptions
- setWorkerChoiceStrategyOptions(workerChoiceStrategyOptions): boolean
Returns boolean
Protected
setupHook
- setupHook(): void
Returns void
Protected
Abstract
shallCreateDynamicWorker
- shallCreateDynamicWorker(): boolean
Returns void
Protected
Abstract
shallCreateDynamicWorker
Private
shallExecuteTask
- shallExecuteTask(workerNodeKey): boolean
Returns boolean
Private
shallUpdateTaskFunctionWorkerUsage
- shallUpdateTaskFunctionWorkerUsage(workerNodeKey): boolean
-
\ No newline at end of file
+
start
- start(): void
Returns void
Private
startMinimumNumberOfWorkers
- startMinimumNumberOfWorkers(initWorkerNodeUsage?): void
Parameters
- initWorkerNodeUsage: boolean = false
Returns void
Private
tasksQueueSize
- tasksQueueSize(workerNodeKey): number
Returns number
Private
unsetTaskStealing
- unsetTaskStealing(): void
Returns void
Private
unsetTasksStealingOnBackPressure
- unsetTasksStealingOnBackPressure(): void
Returns void
Private
updateTaskSequentiallyStolenStatisticsWorkerUsage
- updateTaskSequentiallyStolenStatisticsWorkerUsage(workerNodeKey, taskName, previousTaskName?): void
Parameters
- workerNodeKey: number
- taskName: string
Optional
previousTaskName: string
Returns void
Private
updateTaskStolenStatisticsWorkerUsage
- updateTaskStolenStatisticsWorkerUsage(workerNodeKey, taskName): void
Parameters
- workerNodeKey: number
- taskName: string
Returns void
Protected
Readonly
workerMessageListener
- workerMessageListener(message): void
Returns void
Private
Readonly
workerNodeStealTask
- workerNodeStealTask(workerNodeKey): undefined | Task<Data>
Returns undefined | Task<Data>
\ No newline at end of file
Base class that implements some shared logic for all poolifier pools.
+- Preparing search index...
- The search index is not available
poolifier - v4.0.13Class AbstractPool<Worker, Data, Response>
Abstract
Base class that implements some shared logic for all poolifier pools.
Type Parameters
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.
-Hierarchy (view full)
Implements
Index
Constructors
Hierarchy (view full)
Implements
Index
Constructors
Properties
Path to the worker file.
Options for the pool.
Optional
maximumNumberOfWorkers: numberMaximum number of workers that this pool manages.
-Returns AbstractPool<Worker, Data, Response>
Properties
Private
destroyingWhether the pool is destroying or not.
-Optional
emitterPool event emitter integrated with async resource. +
Returns AbstractPool<Worker, Data, Response>
Properties
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:
@@ -127,120 +130,124 @@ The async tracking tooling identifier is
-poolifier:<PoolType>-<Wo
'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
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:
+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 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
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:
+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 object.Protected
Optional
workerWorker choice strategies context referencing worker choice algorithms implementation.
-Readonly
Internal
workerPool worker nodes.
-Accessors
Protected
Abstract
busyWhether the pool is busy or not.
+Protected
Optional
workerWorker choice strategies context referencing worker choice algorithms implementation.
+Readonly
Internal
workerPool worker nodes.
+Accessors
Protected
Abstract
busyWhether the pool is busy or not.
The pool busyness boolean status.
-Returns boolean
Protected
emptyThe pool emptiness boolean status.
-Returns boolean
Protected
fullWhether the pool is full or not.
+Returns boolean
Protected
emptyThe pool emptiness boolean status.
+Returns boolean
Protected
fullWhether the pool is full or not.
The pool filling boolean status.
-Returns boolean
info
Pool information.
-Returns PoolInfo
Private
readyThe pool readiness boolean status.
-Returns boolean
Protected
Abstract
typeThe pool type.
+Returns boolean
info
Pool information.
+Returns PoolInfo
Private
readyThe pool readiness boolean status.
+Returns boolean
Protected
Abstract
typeThe pool type.
If it is
-'dynamic'
, it provides themax
property.Returns "fixed" | "dynamic"
Private
utilizationThe approximate pool utilization.
+Returns "fixed" | "dynamic"
Private
utilizationThe approximate pool utilization.
Returns number
The pool utilization.
-Protected
Abstract
workerThe worker type.
-Returns "thread" | "cluster"
Methods
add Task Function
Parameters
Returns Promise<boolean>
Inherit Doc
Private
addAdds the given worker node in the pool worker nodes.
+Protected
Abstract
workerThe worker type.
+Returns "thread" | "cluster"
Methods
add Task Function
Parameters
Returns Promise<boolean>
Inherit Doc
Private
addAdds the given worker node in the pool worker nodes.
Parameters
The worker node.
Returns number
The added worker node key.
Throws
https://nodejs.org/api/errors.html#class-error If the added worker node is not found.
-Protected
afterHook executed after the worker task execution. +
Protected
afterHook executed after the worker task execution. Can be overridden.
Parameters
The worker node key.
The received message.
-Returns void
Protected
afterMethod hooked up after a worker node has been newly created. +
Returns void
Protected
afterMethod hooked up after a worker node has been newly created. Can be overridden.
Parameters
The newly created worker node key.
-Returns void
Protected
beforeHook executed before the worker task execution. +
Returns void
Protected
beforeHook executed before the worker task execution. Can be overridden.
Parameters
The worker node key.
The task to execute.
-Returns void
Private
buildParameters
Returns TasksQueueOptions
Private
cannotReturns boolean
Protected
Abstract
checkEmits dynamic worker creation events.
-Returns void
Private
checkReturns void
Private
checkReturns void
Private
checkReturns void
Private
checkReturns void
Private
checkChecks if the worker id sent in the received message from a worker is valid.
+Returns void
Private
buildParameters
Returns TasksQueueOptions
Private
cannotReturns boolean
Protected
Abstract
checkEmits dynamic worker creation events.
+Returns void
Private
checkReturns void
Private
checkReturns void
Private
checkReturns void
Private
checkReturns void
Private
checkChecks if the worker id sent in the received message from a worker is valid.
Parameters
The received message.
Returns void
Throws
https://nodejs.org/api/errors.html#class-error If the worker id is invalid.
-Private
checkParameters
Returns void
Private
checkParameters
Returns void
Private
checkReturns void
Private
checkParameters
Returns void
Private
chooseChooses a worker node for the next task given the worker choice strategy.
-Parameters
Optional
workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"The worker choice strategy.
-Returns number
The chosen worker node key
-Protected
createCreates a new, completely set up dynamic worker node.
+Private
checkParameters
Returns void
Private
checkParameters
Returns void
Private
checkReturns void
Private
checkParameters
Returns void
Private
chooseChooses a worker node for the next task.
+Parameters
Optional
name: stringThe task function name.
+Returns number
The chosen worker node key.
+Protected
createCreates a new, completely set up dynamic worker node.
Returns number
New, completely set up dynamic worker node key.
-Protected
createCreates a new, completely set up worker node.
+Protected
createCreates a new, completely set up worker node.
Returns number
New, completely set up worker node key.
-Private
createCreates a worker node.
+Private
createCreates a worker node.
Returns IWorkerNode<Worker, Data>
The created worker node.
-Private
dequeueParameters
Returns undefined | Task<Data>
Protected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
+Private
dequeueParameters
Returns undefined | Task<Data>
Protected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
Type Parameters
Parameters
The worker node key.
The message listener callback.
-Parameters
Returns void
Returns void
destroy
Returns Promise<void>
Inherit Doc
Protected
destroyTerminates the worker node given its worker node key.
+Parameters
Returns void
Returns void
destroy
Returns Promise<void>
Inherit Doc
Protected
destroyTerminates the worker node given its worker node key.
Parameters
The worker node key.
-Returns Promise<void>
enable Tasks Queue
Parameters
Optional
tasksQueueOptions: TasksQueueOptionsReturns void
Inherit Doc
Private
enqueueParameters
Returns number
execute
Parameters
Optional
data: DataOptional
name: stringOptional
transferList: readonly TransferListItem[]Returns Promise<Response>
Inherit Doc
Private
executeExecutes the given task on the worker given its worker node key.
+Returns Promise<void>
enable Tasks Queue
Parameters
Optional
tasksQueueOptions: TasksQueueOptionsReturns void
Inherit Doc
Private
enqueueParameters
Returns number
execute
Parameters
Optional
data: DataOptional
name: stringOptional
transferList: readonly TransferListItem[]Returns Promise<Response>
Inherit Doc
Private
executeExecutes the given task on the worker given its worker node key.
Parameters
The worker node key.
The task to execute.
-Returns void
Protected
flagParameters
Returns void
Protected
flushParameters
Returns number
Private
flushReturns void
Private
Readonly
getGets task function strategy, if any.
+Returns void
Protected
flagParameters
Returns void
Protected
flushParameters
Returns number
Private
flushReturns void
Private
Readonly
getGets task function worker choice strategy, if any.
Parameters
Optional
name: stringThe task function name.
Returns undefined | "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"
The task function worker choice strategy if the task function worker choice strategy is defined,
-undefined
otherwise.Protected
getGets the worker information given its worker node key.
+Private
getReturns boolean
Private
Readonly
getGets the worker choice strategies registered in this pool.
+Returns Set<"ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN">
The worker choice strategies.
+Protected
getGets the worker information given its worker node key.
Parameters
The worker node key.
Returns undefined | WorkerInfo
The worker information.
-Private
getGets the worker node key given its worker id.
+Private
getGets the worker node key given its worker id.
Parameters
The worker id.
Returns number
The worker node key if the worker id is found in the pool worker nodes,
--1
otherwise.Private
Readonly
getGets worker node task function priority, if any.
+Private
Readonly
getGets worker node task function priority, if any.
Parameters
The worker node key.
Optional
name: stringThe task function name.
-Returns undefined | number
The task function worker choice priority if the task function worker choice priority is defined,
-undefined
otherwise.Private
Readonly
getGets the worker choice strategies registered in this pool.
-Returns Set<"ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN">
The worker choice strategies.
-Private
handleParameters
Returns void
Private
handleParameters
Returns void
Private
Readonly
handleParameters
Returns void
Private
Readonly
handleParameters
Optional
previousStolenTask: Task<Data>Returns void
Private
handleParameters
Returns void
Private
hasReturns boolean
has Task Function
Parameters
Returns boolean
Inherit Doc
Private
initReturns void
Private
initInitializes the worker node usage with sensible default values gathered during runtime.
+Returns undefined | number
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.
+Parameters
The worker node key.
+Optional
name: stringThe task function name.
+Returns undefined | "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"
The worker node task function worker choice strategy if the worker node task function worker choice strategy is defined,
+undefined
otherwise.Private
handleParameters
Returns void
Private
handleParameters
Returns void
Private
Readonly
handleParameters
Returns void
Private
Readonly
handleParameters
Optional
previousStolenTask: Task<Data>Returns void
Private
handleParameters
Returns void
Private
hasReturns boolean
has Task Function
Parameters
Returns boolean
Inherit Doc
Private
initReturns void
Private
initInitializes the worker node usage with sensible default values gathered during runtime.
Parameters
The worker node.
-Returns void
Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Returns void
Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
Returns boolean
Worker nodes busyness boolean status.
-Protected
Abstract
isReturns whether the worker is the main worker or not.
+Protected
Abstract
isReturns whether the worker is the main worker or not.
Returns boolean
-true
if the worker is the main worker,false
otherwise.Private
isParameters
Returns boolean
list Task Functions Properties
Returns TaskFunctionProperties[]
Inherit Doc
Private
redistributeParameters
Returns void
Protected
Abstract
registerRegisters once a listener callback on the worker given its worker node key.
+Private
isParameters
Returns boolean
list Task Functions Properties
Returns TaskFunctionProperties[]
Inherit Doc
Private
redistributeParameters
Returns void
Protected
Abstract
registerRegisters once a listener callback on the worker given its worker node key.
Type Parameters
Parameters
The worker node key.
The message listener callback.
-Parameters
Returns void
Returns void
Protected
Abstract
registerRegisters a listener callback on the worker given its worker node key.
+Parameters
Returns void
Returns void
Protected
Abstract
registerRegisters a listener callback on the worker given its worker node key.
Type Parameters
Parameters
The worker node key.
The message listener callback.
-Parameters
Returns void
Returns void
remove Task Function
Parameters
Returns Promise<boolean>
Inherit Doc
Private
removeRemoves the worker node from the pool worker nodes.
+Parameters
Returns void
Returns void
remove Task Function
Parameters
Returns Promise<boolean>
Inherit Doc
Private
removeRemoves the worker node from the pool worker nodes.
Parameters
The worker node.
-Returns void
Private
resetParameters
Returns void
Private
sendParameters
Returns Promise<void>
Protected
Abstract
sendSends the startup message to worker given its worker node key.
+Returns void
Private
resetParameters
Returns void
Private
sendParameters
Returns Promise<void>
Protected
Abstract
sendSends the startup message to worker given its worker node key.
Parameters
The worker node key.
-Returns void
Private
sendSends the statistics message to worker given its worker node key.
+Returns void