X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=docs%2Fclasses%2FFixedThreadPool.html;h=e4b8baf600b1d6ebfe12de36b84e224801541689;hb=d0277f793034b9d2bec5ebd45b4aa698f092f4db;hp=08ba0794eb960bcab18ffb0d6128b214f2d6a580;hpb=89757908a0cf61d60dcf28323c5c23c4ef66fcf2;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index 08ba0794..7fcceb95 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,968 +1,176 @@ -
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.11Class 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
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
Readonly
emitterEmitter on which events can be listened to.
+shallConstructors
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:
-
-
+
+
+
+
-'full'
: Emitted when the pool is dynamic and the number of workers created has reached the maximum size expected.'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 at least one task.'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). Path
-Protected
Readonly
filePath to the worker file.
- 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
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
- Task Execution Hook
-Protected
after-- after
Task Execution Hook(workerNodeKey, message): void
--
-
Hook executed after the worker task execution. +
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.Throws
https://nodejs.org/api/errors.html#class-typeerror If the
+fn
parameter is not a function.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
- Dynamic Pool Size
-Protected
check-- check
Dynamic Pool Size(min, max): void
--
-
-
-
Parameters
---
-
--
-
min: number
max: number
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.
- -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 tasks queue in this pool.
-Parameters
---
-
-
--
-
-
enable: boolean
-Whether to enable or disable the worker tasks queue.
-
-Optional
tasksQueueOptions: TasksQueueOptionsThe worker 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.
- - 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.
- - 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 Functions
--- list
Task Functions(): string[]
--
-
-
Lists the names of task function available in this pool.
-Returns string[]
The names of task function available in this pool.
- - 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
- Kill Message To Worker
-Protected
send-- send
Kill Message To Worker(workerNodeKey, workerId): Promise<void>
--
-
-
-
Parameters
---
-
--
-
workerNodeKey: number
workerId: 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 Tasks Queue Options
--- set
Tasks Queue Options(tasksQueueOptions): void
--
-
-
-
-
Sets the worker tasks queue options in this pool.
-Parameters
---
-
-
tasksQueueOptions: TasksQueueOptions
-The worker 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.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.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
- Listener
-Protected
worker-- worker
Listener(): ((message) => void)
--
-
-
This method is the listener registered for each worker message.
-Returns ((message) => void)
The listener function to execute when a message is received from a worker.
- ---
-
--- (message): void
--
-
-
-
-
This method is the listener registered for each worker message.
-Parameters
---
-
message: MessageValue<Response, unknown>
Returns void
The listener function to execute when a message is received from a worker.
- --
-Settings
Member Visibility
Theme
-
-On This Page
-- constructor
-- emitter
-- file
Path
-- number
Of Workers
-- opts
-- promise
Response Map
-- worker
Choice Strategy Context
-- worker
Nodes
-- busy
-- full
-- info
-- max
Size
-- min
Size
-- ready
-- type
-- utilization
-- worker
-- after
Task Execution Hook
-- after
Worker Node Setup
-- before
Task Execution Hook
-- check
Dynamic Pool Size
-- create
And Setup Dynamic Worker Node
-- create
And Setup Worker Node
-- create
Worker
-- destroy
-- destroy
Worker Node
-- enable
Tasks Queue
-- execute
-- flush
Tasks Queue
-- get
Worker Info
-- internal
Busy
-- is
Main
-- list
Task Functions
-- register
Worker Message Listener
-- send
Kill Message To Worker
-- send
Startup Message To Worker
-- send
To Worker
-- set
Tasks Queue Options
-- set
Worker Choice Strategy
-- set
Worker Choice Strategy Options
-- setup
Hook
-- worker
Listener
Generated using TypeDoc
Returns void