Event 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:
@@ -120,144 +120,142 @@ 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).
Executes the specified function in the worker constructor with the task data input parameter.
Parameters
Optionaldata: Data
The optional task input data for the specified task function. This can only be structured-cloneable data.
Optionalname: string
The optional name of the task function to execute. If not specified, the default task function will be executed.
OptionaltransferList: 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.
Returns Promise<Response>
Promise that will be fulfilled when the task is completed.
-
PrivateexecuteTask
executeTask(workerNodeKey, task): void
Executes the given task on the worker given its worker node key.
+
PrivateexecuteTask
executeTask(workerNodeKey, task): void
Executes the given task on the worker given its worker node key.
Base class that implements some shared logic for all poolifier pools.
+- Preparing search index...
- The search index is not available
poolifier - v3.1.8Class AbstractPool<Worker, Data, Response>
Abstract
Base class that implements some shared logic for all poolifier pools.
Type Parameters
Worker extends IWorker
Type of worker which manages this pool.
Data = unknown
Type of data sent to the worker. This can only be structured-cloneable data.
Response = unknown
Type of execution response. This can only be structured-cloneable data.
-Hierarchy
Implements
Index
Constructors
Hierarchy
Implements
Index
Constructors
Properties
Accessors
Constructors
constructor
Constructs a new poolifier pool.
-Type Parameters
Worker extends IWorker
Data = unknown
Response = unknown
Parameters
numberOfWorkers: number
Number of workers that this pool should manage.
+Constructors
constructor
Constructs a new poolifier pool.
+Type Parameters
Worker extends IWorker
Data = unknown
Response = unknown
Parameters
minimumNumberOfWorkers: number
Minimum number of workers that this pool manages.
filePath: string
Path to the worker file.
opts: PoolOptions<Worker>
Options for the pool.
-Returns AbstractPool<Worker, Data, Response>
Properties
Private
destroyingWhether the pool is destroying or not.
-Optional
emitterEvent emitter integrated with async resource on which events can be listened to. +
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
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:
@@ -120,144 +120,142 @@ 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
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.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
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:
key
: The task function name.value
: The task function itself.Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
-Readonly
Internal
workerPool worker nodes.
-Accessors
Protected
Abstract
busyWhether the pool is busy or not.
+Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
+Readonly
Internal
workerPool worker nodes.
+Accessors
Protected
Abstract
busyWhether the pool is busy or not.
The pool busyness boolean status.
-Returns boolean
Protected
fullWhether the pool is full or not.
+Returns boolean
Protected
fullWhether the pool is full or not.
The pool filling boolean status.
-Returns boolean
info
Pool information.
-Returns PoolInfo
Protected
maxThe pool maximum size.
-Returns number
Protected
minThe pool minimum size.
-Returns number
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
Adds a task function to this pool. +
Protected
Abstract
workerThe worker type.
+Returns "thread" | "cluster"
Methods
add Task Function
Adds a task function to this pool. If a task function with the same name already exists, it will be overwritten.
Parameters
name: string
The name of the task function.
fn: TaskFunction<Data, Response>
The task function.
Returns Promise<boolean>
true
if the task function was added,false
otherwise.Throws
https://nodejs.org/api/errors.html#class-typeerror If the
name
parameter is not a string or an empty string.Throws
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.
+Private
addAdds the given worker node in the pool worker nodes.
Parameters
workerNode: IWorkerNode<Worker, Data>
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
workerNodeKey: number
The worker node key.
message: MessageValue<Response, unknown>
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
workerNodeKey: number
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
workerNodeKey: number
The worker node key.
task: Task<Data>
The task to execute.
-Returns void
Private
buildParameters
tasksQueueOptions: TasksQueueOptions
Returns TasksQueueOptions
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
tasksQueueOptions: TasksQueueOptions
Returns TasksQueueOptions
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
message: MessageValue<Data | Response, unknown>
The received message.
Returns void
Throws
https://nodejs.org/api/errors.html#class-error If the worker id is invalid.
-Private
checkParameters
numberOfWorkers: number
Returns void
Private
checkParameters
opts: PoolOptions<Worker>
Returns void
Private
checkParameters
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
Returns void
Private
chooseChooses a worker node for the next task.
+Private
checkParameters
minimumNumberOfWorkers: number
Returns void
Private
checkParameters
opts: PoolOptions<Worker>
Returns void
Private
checkReturns void
Private
checkParameters
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
Returns void
Private
chooseChooses a worker node for the next task.
The default worker choice strategy uses a round robin algorithm to distribute the tasks.
Returns number
The chosen worker node key
-Protected
createCreates a new, completely set up dynamic worker node.
+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
deleteParameters
name: string
Returns void
Private
dequeueParameters
workerNodeKey: number
Returns undefined | Task<Data>
Protected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
+Private
deleteParameters
name: string
Returns void
Private
dequeueParameters
workerNodeKey: number
Returns undefined | Task<Data>
Protected
Abstract
deregisterDeregisters a listener callback on the worker given its worker node key.
Type Parameters
Message
Parameters
workerNodeKey: number
The worker node key.
listener: ((message) => void)
The message listener callback.
-Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
destroy
Terminates all workers in this pool.
-Returns Promise<void>
Protected
destroyTerminates the worker node given its worker node key.
+Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
destroy
Terminates all workers in this pool.
+Returns Promise<void>
Protected
destroyTerminates the worker node given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
-Returns Promise<void>
enable Tasks Queue
Enables/disables the worker node tasks queue in this pool.
+Returns Promise<void>
enable Tasks Queue
Enables/disables the worker node tasks queue in this pool.
Parameters
enable: boolean
Whether to enable or disable the worker node tasks queue.
Optional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
-Returns void
Private
enqueueParameters
workerNodeKey: number
task: Task<Data>
Returns number
execute
Executes the specified function in the worker constructor with the task data input parameter.
+Returns void
Private
enqueueParameters
workerNodeKey: number
task: Task<Data>
Returns number
execute
Executes the specified function in the worker constructor with the task data input parameter.
Parameters
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.
Returns Promise<Response>
Promise that will be fulfilled when the task is completed.
-Private
executeExecutes the given task on the worker given its worker node key.
+Private
executeExecutes the given task on the worker given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
task: Task<Data>
The task to execute.
-Returns void
Protected
flagParameters
workerNodeKey: number
Returns void
Protected
flushParameters
workerNodeKey: number
Returns number
Private
flushReturns void
Protected
getGets the worker information given its worker node key.
+Returns void
Protected
flagParameters
workerNodeKey: number
Returns void
Protected
flushParameters
workerNodeKey: number
Returns number
Private
flushReturns void
Protected
getGets the worker information given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
Returns 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
workerId: undefined | number
The worker id.
Returns number
The worker node key if the worker id is found in the pool worker nodes,
--1
otherwise.Private
Readonly
handleParameters
eventDetail: WorkerNodeEventDetail
Returns void
Private
Readonly
handleParameters
eventDetail: WorkerNodeEventDetail
Optional
previousStolenTask: Task<Data>Returns void
Private
handleParameters
workerNodeKey: number
task: Task<Data>
Returns void
Private
handleParameters
message: MessageValue<Response, unknown>
Returns void
Private
handleParameters
message: MessageValue<Response, unknown>
Returns void
Private
hasReturns boolean
has Task Function
Whether the specified task function exists in this pool.
+Private
Readonly
handleParameters
eventDetail: WorkerNodeEventDetail
Returns void
Private
Readonly
handleParameters
eventDetail: WorkerNodeEventDetail
Optional
previousStolenTask: Task<Data>Returns void
Private
handleParameters
workerNodeKey: number
task: Task<Data>
Returns void
Private
handleParameters
message: MessageValue<Response, unknown>
Returns void
Private
handleParameters
message: MessageValue<Response, unknown>
Returns void
Private
hasReturns boolean
has Task Function
Whether the specified task function exists in this pool.
Parameters
name: string
The name of the task function.
Returns boolean
-true
if the task function exists,false
otherwise.has Worker Node Back Pressure
Internal
Whether the worker node has back pressure (i.e. its tasks queue is full).
+has Worker Node Back Pressure
Internal
Whether the worker node has back pressure (i.e. its tasks queue is full).
Parameters
workerNodeKey: number
The worker node key.
Returns boolean
-true
if the worker node has back pressure,false
otherwise.Private
initializeReturns void
Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Private
initializeReturns void
Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
Returns boolean
Worker nodes busyness boolean status.
-Protected
Abstract
isShould return whether the worker is the main worker or not.
-Returns boolean
Private
isParameters
workerNodeKey: number
Returns boolean
list Task Function Names
Lists the names of task function available in this pool.
+Protected
Abstract
isShould return whether the worker is the main worker or not.
+Returns boolean
Private
isParameters
workerNodeKey: number
Returns boolean
list Task Function Names
Lists the names of task function available in this pool.
Returns string[]
The names of task function available in this pool.
-Private
redistributeParameters
workerNodeKey: number
Returns void
Protected
Abstract
registerRegisters once a listener callback on the worker given its worker node key.
+Private
redistributeParameters
workerNodeKey: number
Returns void
Protected
Abstract
registerRegisters once a listener callback on the worker given its worker node key.
Type Parameters
Message
Parameters
workerNodeKey: number
The worker node key.
listener: ((message) => void)
The message listener callback.
-Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
Protected
Abstract
registerRegisters a listener callback on the worker given its worker node key.
+Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
Protected
Abstract
registerRegisters a listener callback on the worker given its worker node key.
Type Parameters
Message
Parameters
workerNodeKey: number
The worker node key.
listener: ((message) => void)
The message listener callback.
-Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
remove Task Function
Removes a task function from this pool.
+Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
remove Task Function
Removes a task function from this pool.
Parameters
name: string
The name of the task function.
Returns Promise<boolean>
-true
if the task function was removed,false
otherwise.Private
removeRemoves the worker node from the pool worker nodes.
+Private
removeRemoves the worker node from the pool worker nodes.
Parameters
workerNode: IWorkerNode<Worker, Data>
The worker node.
-Returns void
Private
resetParameters
workerNodeKey: number
taskName: string
Returns void
Private
resetParameters
workerNodeKey: number
Returns void
Protected
sendParameters
workerNodeKey: number
Returns Promise<void>
Protected
Abstract
sendSends the startup message to worker given its worker node key.
+Returns void
Private
resetParameters
workerNodeKey: number
taskName: string
Returns void
Private
resetParameters
workerNodeKey: number
Returns void
Private
sendParameters
workerNodeKey: number
Returns Promise<void>
Protected
Abstract
sendSends the startup message to worker given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
-Returns void
Private
sendSends the statistics message to worker given its worker node key.
+Returns void
Private
sendSends the statistics message to worker given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
-Returns void
Private
sendParameters
workerNodeKey: number
message: MessageValue<Data, unknown>
Returns Promise<boolean>
Private
sendParameters
message: MessageValue<Data, unknown>
Returns Promise<boolean>
Protected
Abstract
sendSends a message to worker given its worker node key.
+Returns void
Private
sendParameters
workerNodeKey: number
message: MessageValue<Data, unknown>
Returns Promise<boolean>
Private
sendParameters
message: MessageValue<Data, unknown>
Returns Promise<boolean>
Protected
Abstract
sendSends a message to worker given its worker node key.
Parameters
workerNodeKey: number
The worker node key.
message: MessageValue<Data, unknown>
The message.
Optional
transferList: TransferListItem[]The optional array of transferable objects.
-Returns void
set Default Task Function
Sets the default task function in this pool.
+Returns void
set Default Task Function
Sets the default task function in this pool.
Parameters
name: string
The name of the task function.
Returns Promise<boolean>
-true
if the default task function was set,false
otherwise.Private
setReturns void
set Tasks Queue Options
Sets the worker node tasks queue options in this pool.
+Private
setReturns void
set Tasks Queue Options
Sets the worker node tasks queue options in this pool.
Parameters
tasksQueueOptions: TasksQueueOptions
The worker node tasks queue options.
-Returns void
Private
setParameters
size: number
Returns void
Private
setReturns void
set Worker Choice Strategy
Sets the worker choice strategy in this pool.
+Returns void
Private
setParameters
size: number
Returns void
Private
setReturns void
set Worker Choice Strategy
Sets the worker choice strategy in this pool.
Parameters
workerChoiceStrategy: "ROUND_ROBIN" | "LEAST_USED" | "LEAST_BUSY" | "LEAST_ELU" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN" | "INTERLEAVED_WEIGHTED_ROUND_ROBIN"
The worker choice strategy.
Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
-Returns void
set Worker Choice Strategy Options
Sets the worker choice strategy options in this pool.
+Returns void
set Worker Choice Strategy Options
Sets the worker choice strategy options in this pool.
Parameters
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
The worker choice strategy options.
-Returns void
Protected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. +
Returns void
Protected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. Can be overridden.
-Returns void
Private
shallConditions for dynamic worker creation.
+Returns void
Private
shallConditions for dynamic worker creation.
Returns boolean
Whether to create a dynamic worker or not.
-Private
shallParameters
workerNodeKey: number
Returns boolean
Private
shallWhether the worker node shall update its task function worker usage or not.
+Private
shallParameters
workerNodeKey: number
Returns boolean
Private
shallWhether the worker node shall update its task function worker usage or not.
Parameters
workerNodeKey: number
The worker node key.
Returns boolean
-true
if the worker node shall update its task function worker usage,false
otherwise.start
Starts the minimum number of workers in this pool.
-Returns void
Private
tasksParameters
workerNodeKey: number
Returns number
Private
unsetReturns void
Private
unsetReturns void
Private
updateParameters
workerNodeKey: number
taskName: string
Returns void
Private
updateParameters
workerNodeKey: number
Returns void
Private
updateParameters
workerNodeKey: number
taskName: string
Returns void
Protected
Readonly
workerThis method is the message listener registered on each worker.
-Parameters
message: MessageValue<Response, unknown>
Returns void
Private
Readonly
workerParameters
workerNodeKey: number
Returns undefined | Task<Data>
Settings
Member Visibility
Theme
On This Page
Generated using TypeDoc