X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=inline;f=docs%2Fclasses%2FFixedThreadPool.html;h=e075068c7bf0776ee06a3eca0fe0250744dd3b7c;hb=0d64fd531460a553940a8e3b2912be059c9cdf48;hp=31c7819b26799b392af114b05b706f0de4fa2b88;hpb=e82ac13a1f1af55b7668013195a12f9e3e017205;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index 31c7819b..e075068c 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,109 +1,46 @@ -
Protected
shallProtected
Readonly
workerThis method is the message listener registered on each worker.
+Generated using TypeDoc
A thread pool with a fixed number of threads.
-Author
Alessandro Pio Ardizio
- +- Preparing search index...
- The search index is not available
poolifier - v3.1.15Class FixedThreadPool<Data, Response>
A thread pool with a fixed number of threads.
+Author
Alessandro Pio Ardizio
Since
0.0.1
-Type Parameters
---
-
-
--
-
-
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
--- AbstractPool<Worker, Data, Response>
-
-- FixedThreadPool
-
-- DynamicThreadPool
-
-Index
Constructors
-Properties
-Type Parameters
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 (view full)
Index
Constructors
Properties
Accessors
-Accessors
Methods
-Methods
Constructors
-constructor
--- new
Fixed Thread Pool<Data, Response>(numberOfThreads, filePath, opts?): FixedThreadPool<Data, Response>
--
-
-
-
-
-
-
Constructs a new poolifier fixed thread pool.
-Type Parameters
---
-
--
-
Data = unknown
Response = unknown
Parameters
---
-
-
--
-
-
--
-
-
numberOfThreads: number
-Number of threads for this pool.
-filePath: string
-Path to an implementation of a
-ThreadWorker
file, which can be relative or absolute.opts: ThreadPoolOptions = {}
-Options for this fixed thread pool.
-Returns FixedThreadPool<Data, Response>
-Properties
-
-Optional
emitterEvent emitter integrated with async resource on which events can be listened to. +
Constructors
constructor
Constructs a new poolifier fixed thread pool.
+Type Parameters
Data = unknown
Response = unknown
Parameters
numberOfThreads: number
Number of threads for this pool.
+filePath: string
Path to an implementation of a
+ThreadWorker
file, which can be relative or absolute.opts: ThreadPoolOptions = {}
Options for this fixed thread pool.
+Optional
maximumNumberOfThreads: numberReturns FixedThreadPool<Data, Response>
Properties
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:
@@ -170,986 +67,106 @@ 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). Path
-Protected
Readonly
filePath to the worker file.
-
-Protected
Optional
Readonly
maxDynamic pool maximum size property placeholder.
- Of Workers
-Protected
Readonly
numberNumber of workers that this pool should manage.
-
-Protected
Readonly
optsOptions for this fixed thread pool.
- Response Map
-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.
- Choice Strategy Context
-Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
- Nodes
-Readonly
Internal
workerPool worker nodes.
-Accessors
-
-Protected
busy-- get busy(): boolean
--
-
Whether the pool is busy or not.
+Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
+Readonly
Internal
workerPool worker nodes.
+Accessors
Protected
busyWhether the pool is busy or not.
The pool busyness boolean status.
-Returns boolean
-
-Protected
full-- get full(): boolean
--
-
Whether the pool is full or not.
+Returns boolean
Protected
fullWhether the pool is full or not.
The pool filling boolean status.
-Returns boolean
-info
--- get info(): PoolInfo
--
-
-
Pool information.
-Returns PoolInfo
- Size
-Protected
max-- get maxSize(): number
--
-
-
The pool maximum size.
-Returns number
- Size
-Protected
min-- get minSize(): number
--
-
-
The pool minimum size.
-Returns number
-
-Private
ready-- get ready(): boolean
--
-
-
The pool readiness boolean status.
-Returns boolean
-
-Protected
type-- get type(): "fixed" | "dynamic"
--
-
The pool type.
+Returns boolean
info
Pool information.
+Returns PoolInfo
Private
readyThe pool readiness boolean status.
+Returns boolean
Protected
typeThe pool type.
If it is
-'dynamic'
, it provides themax
property.Returns "fixed" | "dynamic"
-
-Private
utilization-- get utilization(): number
--
-
-
The approximate pool utilization.
-Returns number
The pool utilization.
- -
-Protected
worker-- get worker(): "thread" | "cluster"
--
-
-
The worker type.
-Returns "thread" | "cluster"
-Methods
-add Task Function
--- add
Task Function(name, fn): Promise<boolean>
--
-
Adds a task function to this pool. +
Returns "fixed" | "dynamic"
Private
utilizationThe approximate pool utilization.
+Returns number
The pool utilization.
+Protected
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.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. Task Execution Hook
-Protected
after-- after
Task Execution Hook(workerNodeKey, message): void
--
-
Hook 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
- Worker Node Setup
-Protected
after-- after
Worker Node Setup(workerNodeKey): void
--
-
Method hooked up after a worker node has been newly created. +
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. Can be overridden.
-Parameters
---
-
-
workerNodeKey: number
-The newly created worker node key.
-Returns void
- Task Execution Hook
-Protected
before-- before
Task Execution Hook(workerNodeKey, task): void
--
-
Hook executed before the worker task execution. +
Parameters
workerNodeKey: number
The newly created worker node key.
+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
- And Setup Dynamic Worker Node
-Protected
create-- create
And Setup Dynamic Worker Node(): number
--
-
-
Creates a new, completely set up dynamic worker node.
-Returns number
New, completely set up dynamic worker node key.
- - And Setup Worker Node
-Protected
create-- create
And Setup Worker Node(): number
--
-
-
Creates a new, completely set up worker node.
-Returns number
New, completely set up worker node key.
- - Worker
-Protected
create-- create
Worker(): Worker
--
-
-
Creates a new worker.
-Returns Worker
Newly created worker.
- - Worker Message Listener
-Protected
deregister-- deregister
Worker Message Listener<Message>(workerNodeKey, listener): void
--
-
-
-
-
-
-
Deregisters 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.
---
-
-- (message): void
--
-
-
-
Parameters
---
-
message: MessageValue<Message, unknown>
Returns void
Returns void
-destroy
--- destroy(): Promise<void>
--
-
-
Terminates all workers in this pool.
-Returns Promise<void>
- Worker Node
-Protected
destroy-- destroy
Worker Node(workerNodeKey): Promise<void>
--
-
-
-
-
Terminates the worker node given its worker node key.
-Parameters
---
-
-
workerNodeKey: number
-The worker node key.
-Returns Promise<void>
-enable Tasks Queue
--- enable
Tasks Queue(enable, tasksQueueOptions?): void
--
-
-
-
-
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
-execute
--- execute(data?, name?, transferList?): Promise<Response>
--
-
-
-
-
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 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.
- - Worker Node As Not Ready
-Protected
flag-- flag
Worker Node As Not Ready(workerNodeKey): void
--
-
-
-
Parameters
---
-
workerNodeKey: number
Returns void
Tasks Queue
-Protected
flush-- flush
Tasks Queue(workerNodeKey): void
--
-
-
-
Parameters
---
-
workerNodeKey: number
Returns void
Worker Info
-Protected
get-- get
Worker Info(workerNodeKey): WorkerInfo
--
-
-
-
-
Gets the worker information given its worker node key.
-Parameters
---
-
-
workerNodeKey: number
-The worker node key.
-Returns WorkerInfo
The worker information.
- -has Task Function
--- has
Task Function(name): boolean
--
-
-
-
-
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
--- has
Worker Node Back Pressure(workerNodeKey): boolean
-
-
-
-
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. Busy
-Protected
internal-- internal
Busy(): boolean
--
-
-
Whether worker nodes are executing concurrently their tasks quota or not.
-Returns boolean
Worker nodes busyness boolean status.
- - Main
-Protected
is-- is
Main(): boolean
--
-
-
Should return whether the worker is the main worker or not.
-Returns boolean
-list Task Function Names
--- list
Task Function Names(): string[]
--
-
-
Lists the names of task function available in this pool.
-Returns string[]
The names of task function available in this pool.
- - Once Worker Message Listener
-Protected
register-- register
Once Worker Message Listener<Message>(workerNodeKey, listener): void
--
-
-
-
-
-
-
Registers 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.
---
-
-- (message): void
--
-
-
-
Parameters
---
-
message: MessageValue<Message, unknown>
Returns void
Returns void
- Worker Message Listener
-Protected
register-- register
Worker Message Listener<Message>(workerNodeKey, listener): void
--
-
-
-
-
-
-
Registers 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.
---
-
-- (message): void
--
-
-
-
Parameters
---
-
message: MessageValue<Message, unknown>
Returns void
Returns void
-remove Task Function
--- remove
Task Function(name): Promise<boolean>
--
-
-
-
-
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. Kill Message To Worker
-Protected
send-- send
Kill Message To Worker(workerNodeKey): Promise<void>
--
-
-
-
Parameters
---
-
workerNodeKey: number
Returns Promise<void>
Startup Message To Worker
-Protected
send-- send
Startup Message To Worker(workerNodeKey): void
--
-
-
-
-
Sends the startup message to worker given its worker node key.
-Parameters
---
-
-
workerNodeKey: number
-The worker node key.
-Returns void
- To Worker
-Protected
send-- send
To Worker(workerNodeKey, message, transferList?): void
--
-
-
-
-
Sends 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
--- set
Default Task Function(name): Promise<boolean>
--
-
-
-
-
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.set Tasks Queue Options
--- set
Tasks Queue Options(tasksQueueOptions): void
--
-
-
-
-
Sets the worker node tasks queue options in this pool.
-Parameters
---
-
-
tasksQueueOptions: TasksQueueOptions
-The worker node tasks queue options.
-Returns void
-set Worker Choice Strategy
--- set
Worker Choice Strategy(workerChoiceStrategy, workerChoiceStrategyOptions?): void
--
-
-
-
-
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
--- set
Worker Choice Strategy Options(workerChoiceStrategyOptions): void
--
-
-
-
-
Sets the worker choice strategy options in this pool.
-Parameters
---
-
-
workerChoiceStrategyOptions: WorkerChoiceStrategyOptions
-The worker choice strategy options.
-Returns void
- Hook
-Protected
setup-- setup
Hook(): void
--
-
Setup hook to execute code before worker nodes are created in the abstract constructor. +
Parameters
workerNodeKey: number
The worker node key.
+task: Task<Data>
The task to execute.
+Returns void
Protected
checkEmits dynamic worker creation events.
+Returns void
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.
+Returns number
New, completely set up worker node key.
+Protected
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
workerNodeKey: number
The worker node key.
+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
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.
+Protected
flagParameters
workerNodeKey: number
Returns void
Protected
flushParameters
workerNodeKey: number
Returns number
Protected
getGets the worker information given its worker node key.
+Parameters
workerNodeKey: number
The worker node key.
+Returns WorkerInfo
The worker information.
+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.Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Returns boolean
Worker nodes busyness boolean status.
+Protected
isShould return whether the worker is the main worker or not.
+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.
+Protected
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
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
name: string
The name of the task function.
+Returns Promise<boolean>
+true
if the task function was removed,false
otherwise.Protected
sendSends the startup message to worker given its worker node key.
+Parameters
workerNodeKey: number
The worker node key.
+Returns void
Protected
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.
+Parameters
name: string
The name of the task function.
+Returns Promise<boolean>
+true
if the default task function was set,false
otherwise.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
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.
+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. Can be overridden.
-Returns void
-start
--- start(): void
--
-
-
Starts the minimum number of workers in this pool.
-Returns void
- Message Listener
-Protected
worker-- worker
Message Listener(message): void
--
-
-
-
-
This method is the message listener registered on each worker.
-Parameters
---
-
message: MessageValue<Response, unknown>
Returns void
--
-Settings
Member Visibility
Theme
-
-On This Page
-- constructor
-- emitter
-- file
Path
-- max
-- number
Of Workers
-- opts
-- promise
Response Map
-- worker
Choice Strategy Context
-- worker
Nodes
-- busy
-- full
-- info
-- max
Size
-- min
Size
-- ready
-- type
-- utilization
-- worker
-- add
Task Function
-- after
Task Execution Hook
-- after
Worker Node Setup
-- before
Task Execution Hook
-- create
And Setup Dynamic Worker Node
-- create
And Setup Worker Node
-- create
Worker
-- deregister
Worker Message Listener
-- destroy
-- destroy
Worker Node
-- enable
Tasks Queue
-- execute
-- flag
Worker Node As Not Ready
-- flush
Tasks Queue
-- get
Worker Info
-- has
Task Function
-- has
Worker Node Back Pressure
-- internal
Busy
-- is
Main
-- list
Task Function Names
-- register
Once Worker Message Listener
-- register
Worker Message Listener
-- remove
Task Function
-- send
Kill Message To Worker
-- send
Startup Message To Worker
-- send
To Worker
-- set
Default Task Function
-- set
Tasks Queue Options
-- set
Worker Choice Strategy
-- set
Worker Choice Strategy Options
-- setup
Hook
-- start
-- worker
Message Listener
Generated using TypeDoc
Returns void