X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FFixedThreadPool.html;h=315d4e3544e096d2b2c9de00a09ab8683a12ea04;hb=f44936aebf12fc2aa4f507680e84171367185788;hp=de188c51b7a27b2207d87e0a875aafdb1fcd1642;hpb=d0f1dce33156fdb99f0ca3627839001909419497;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index de188c51..315d4e35 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,55 +1,668 @@ -
Protected
workerThis function is the listener registered for each worker.
+ +The listener function to execute when a message is received from a worker.
+This function is the listener registered for each worker.
+ +The listener function to execute when a message is received from a worker.
+Generated using TypeDoc
A thread pool with a fixed number of threads.
-It is possible to perform tasks in sync or asynchronous mode as you prefer.
++- Preparing search index...
+- The search index is not available
poolifier+- poolifier
+- FixedThreadPool
+Class FixedThreadPool<Data, Response>
A thread pool with a fixed number of threads.
+It is possible to perform tasks in sync or asynchronous mode as you prefer.
This pool selects the threads in a round robin fashion.
-of data sent to the worker. This can only be serializable data.
-of response of execution. This can only be serializable data.
-Alessandro Pio Ardizio
-0.0.1
-Type parameters
Data = unknown
Response = unknown
Hierarchy
Index
Constructors
Properties
Accessors
Methods
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: PoolOptions<ThreadWorkerWithMessageChannel> = {}
Returns FixedThreadPool<Data, Response>
Properties
Optional Readonly emitter
Readonly file Path
Optional Readonly max
Protected next Message Id
Id of the next message.
-Readonly number Of Workers
Readonly opts
Protected promise Map
The promise map.
-+ +
Author
Alessandro Pio Ardizio
+ +Since
0.0.1
+Type Parameters
++-
+
+-
+
Data = unknown
+Type of data sent to the worker. This can only be serializable data.
+Response = unknown
+Type of response of execution. This can only be serializable data.
+Hierarchy
++- AbstractPool<ThreadWorkerWithMessageChannel, Data, Response>
+
+- FixedThreadPool
+
+- DynamicThreadPool
+
+Index
Constructors
+Properties
+Accessors
+Methods
+Constructors
+constructor
++- new
Fixed Thread Pool<Data, Response>(numberOfThreads: number, filePath: string, opts?: PoolOptions<ThreadWorkerWithMessageChannel>): 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: PoolOptions<ThreadWorkerWithMessageChannel> = {}
+Options for this fixed thread pool.
+Returns FixedThreadPool<Data, Response>
Properties
+
+Optional
Readonly
emitterInherit Doc
Path
+Readonly
file Message Id
+Protected
nextId of the next message.
+ Of Workers
+Readonly
number
+Readonly
opts Map
+Protected
promiseThe promise map.
+key
: This is the message Id of each submitted task.value
: An object that contains the worker, the resolve function and the reject function.When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.
-Readonly tasks
Protected worker Choice Strategy Context
Worker choice strategy instance implementing the worker choice algorithm.
-Default to a strategy implementing a round robin algorithm.
-Readonly workers
Accessors
busy
Returns boolean
number Of Running Tasks
Returns number
type
Returns PoolType
Methods
Protected after Worker Setup
Parameters
worker: ThreadWorkerWithMessageChannel
Returns void
Protected choose Worker
Choose a worker for the next task.
-The default implementation uses a round robin algorithm to distribute the load.
-Returns ThreadWorkerWithMessageChannel
Worker.
-Protected create And Setup Worker
Creates a new worker for this pool and sets it up completely.
-Returns ThreadWorkerWithMessageChannel
New, completely set up worker.
-Protected create Worker
Returns ThreadWorkerWithMessageChannel
Protected decrease Workers Tasks
Decrease the number of tasks that the given worker has applied.
-Parameters
worker: ThreadWorkerWithMessageChannel
Worker whose tasks are decreased.
-Returns void
destroy
Returns Promise<void>
destroy Worker
Parameters
worker: ThreadWorkerWithMessageChannel
Returns Promise<void>
execute
Parameters
data: Data
Returns Promise<Response>
find Free Tasks Map Entry
Returns false | [ThreadWorkerWithMessageChannel, number]
Protected increase Workers Task
Increase the number of tasks that the given worker has applied.
-Parameters
worker: ThreadWorkerWithMessageChannel
Worker whose tasks are increased.
-Returns void
Protected internal Execute
Parameters
worker: ThreadWorkerWithMessageChannel
messageId: number
Returns Promise<Response>
Protected internal Get Busy Status
Returns boolean
Protected is Main
Returns boolean
register Worker Message Listener
Type parameters
Message
Parameters
messageChannel: ThreadWorkerWithMessageChannel
listener: (message: MessageValue<Message, unknown>) => void
Parameters
message: MessageValue<Message, unknown>
Returns void
Returns void
Protected remove Worker
Removes the given worker from the pool.
-Parameters
worker: ThreadWorkerWithMessageChannel
Worker that will be removed.
-Returns void
Protected send To Worker
Parameters
worker: ThreadWorkerWithMessageChannel
message: MessageValue<Data, unknown>
Returns void
set Worker Choice Strategy
Parameters
workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
Returns void
Protected setup Hook
Setup hook that can be overridden by a Poolifier pool implementation +
Choice Strategy Context
+Protected
workerWorker choice strategy instance implementing the worker choice algorithm.
+Default to a strategy implementing a round robin algorithm.
+
+Readonly
workersInherit Doc
Tasks Usage
+Readonly
workersInherit Doc
Accessors
+busy
++- get busy(): boolean
+-
+
+
+
Inherit Doc
Returns boolean
number Of Running Tasks
++- get numberOfRunningTasks(): number
+-
+
+
+
Inherit Doc
Returns number
type
++- get type(): PoolType
+-
+
+
+
Inherit Doc
Returns PoolType
Methods
+ Promise Worker Response Hook
+Protected
after+- after
Promise Worker Response Hook(message: MessageValue<Response, unknown>, promise: PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>): void
+-
+
+
+
+
Hook executed after the worker task promise resolution. +Can be overridden.
+Parameters
++-
+
+-
+
message: MessageValue<Response, unknown>
+The received message.
+promise: PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>
+The Promise response.
+Returns void
Worker Setup
+Protected
after+- after
Worker Setup(worker: ThreadWorkerWithMessageChannel): void
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
Returns void
Promise Worker Response Hook
+Protected
before+- before
Promise Worker Response Hook(worker: ThreadWorkerWithMessageChannel): void
+-
+
+
+
+
Hook executed before the worker task promise resolution. +Can be overridden.
+Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
+The worker.
+Returns void
Worker
+Protected
choose+- choose
Worker(): ThreadWorkerWithMessageChannel
+-
+
+
Chooses a worker for the next task.
+The default implementation uses a round robin algorithm to distribute the load.
+ +Returns
Worker.
+Returns ThreadWorkerWithMessageChannel
And Setup Worker
+Protected
create+- create
And Setup Worker(): ThreadWorkerWithMessageChannel
+-
+
+
Creates a new worker for this pool and sets it up completely.
+ +Returns
New, completely set up worker.
+Returns ThreadWorkerWithMessageChannel
Worker
+Protected
create+- create
Worker(): ThreadWorkerWithMessageChannel
+-
+
+
+
Inherit Doc
Returns ThreadWorkerWithMessageChannel
destroy
++- destroy(): Promise<void>
+-
+
+
+
Inherit Doc
Returns Promise<void>
destroy Worker
++- destroy
Worker(worker: ThreadWorkerWithMessageChannel): Promise<void>
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
Returns Promise<void>
execute
++- execute(data: Data): Promise<Response>
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
data: Data
Returns Promise<Response>
find Free Worker
++- find
Free Worker(): false | ThreadWorkerWithMessageChannel
+-
+
+
+
Inherit Doc
Returns false | ThreadWorkerWithMessageChannel
get Worker Average Tasks Run Time
++- get
Worker Average Tasks Run Time(worker: ThreadWorkerWithMessageChannel): undefined | number
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
Returns undefined | number
get Worker Index
++- get
Worker Index(worker: ThreadWorkerWithMessageChannel): number
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
Returns number
get Worker Running Tasks
++- get
Worker Running Tasks(worker: ThreadWorkerWithMessageChannel): undefined | number
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
Returns undefined | number
Execute
+Protected
internal+- internal
Execute(worker: ThreadWorkerWithMessageChannel, messageId: number): Promise<Response>
+-
+
+
+
Parameters
++-
+
+-
+
worker: ThreadWorkerWithMessageChannel
messageId: number
Returns Promise<Response>
Get Busy Status
+Protected
internal+- internal
Get Busy Status(): boolean
+-
+
Returns boolean
Main
+Protected
is+- is
Main(): boolean
+-
+
+
+
Inherit Doc
Returns boolean
register Worker Message Listener
++- register
Worker Message Listener<Message>(messageChannel: ThreadWorkerWithMessageChannel, listener: ((message: MessageValue<Message, unknown>) => void)): void
+-
+
+
+
+
+
+
+
Inherit Doc
Type Parameters
++-
+
Message
Parameters
++-
+
+-
+
messageChannel: ThreadWorkerWithMessageChannel
listener: ((message: MessageValue<Message, unknown>) => void)
++-
+
+- (message: MessageValue<Message, unknown>): void
+-
+
+
+
Parameters
++-
+
message: MessageValue<Message, unknown>
Returns void
Returns void
Worker
+Protected
remove+- remove
Worker(worker: ThreadWorkerWithMessageChannel): void
+-
+
+
+
+
Removes the given worker from the pool.
+Parameters
++-
+
worker: ThreadWorkerWithMessageChannel
+The worker that will be removed.
+Returns void
To Worker
+Protected
send+- send
To Worker(worker: ThreadWorkerWithMessageChannel, message: MessageValue<Data, unknown>): void
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
+-
+
worker: ThreadWorkerWithMessageChannel
message: MessageValue<Data, unknown>
Returns void
set Worker Choice Strategy
++- set
Worker Choice Strategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"): void
+-
+
+
+
+
+
Inherit Doc
Parameters
++-
+
workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED" | "FAIR_SHARE" | "WEIGHTED_ROUND_ROBIN"
Returns void
Hook
+Protected
setup+- setup
Hook(): void
+-
+
Setup hook that can be overridden by a Poolifier pool implementation to run code before workers are created in the abstract constructor.
-Returns void
Protected worker Listener
This function is the listener registered for each worker.
-Returns (message: MessageValue<Response, unknown>) => void
The listener function to execute when a message is sent from a worker.
-This function is the listener registered for each worker.
-Parameters
message: MessageValue<Response, unknown>
Returns void
The listener function to execute when a message is sent from a worker.
-Generated using TypeDoc