X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FFixedThreadPool.html;h=47a026ff82721c1aa72076170ae95695fc76284d;hb=dd7f9381792ec728f9cd87ef7a0df6b2893db77e;hp=a7b5b27c4ec19ee612dde0598367a1310d42d962;hpb=18ba88e2f8612c6137bf564388ce8f905ae6d4ee;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index a7b5b27c..47a026ff 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,15 +1,15 @@ -
Type of data sent to the worker. This can only be serializable data.
-Type of data sent to the worker. This can only be structured-cloneable data.
+Type of response of execution. This can only be serializable data.
-Type of execution response. This can only be structured-cloneable data.
+Constructs a new poolifier fixed thread pool.
Number of threads for this pool.
-Path to an implementation of a ThreadWorker
file, which can be relative or absolute.
Options for this fixed thread pool.
-Overrides AbstractPool<ThreadWorkerWithMessageChannel, Data, Response>.constructor
+Overrides AbstractPool.constructor
Optional
Readonly
emitterInherited from AbstractPool.emitter
-Readonly
filePath to the worker-file.
-Inherited from AbstractPool.filePath
+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:
+'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 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).Inherited from AbstractPool.emitter
+Protected
Readonly
filePath to the worker file.
+Inherited from AbstractPool.filePath
+Protected
Optional
Readonly
maxDynamic pool maximum size property placeholder.
+Inherited from AbstractPool.max
Readonly
numberProtected
Readonly
numberNumber of workers that this pool should manage.
-Inherited from AbstractPool.numberOfWorkers
+Inherited from AbstractPool.numberOfWorkers
Readonly
optsOptions for the pool.
-Inherited from AbstractPool.opts
+Protected
Readonly
optsOptions for this fixed thread pool.
+Inherited from AbstractPool.opts
Protected
promiseThe execution response promise map.
+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.
-Inherited from AbstractPool.promiseResponseMap
+Inherited from AbstractPool.promiseResponseMap
Protected
workerProtected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
-Default to a round robin algorithm.
-Inherited from AbstractPool.workerChoiceStrategyContext
+Inherited from AbstractPool.workerChoiceStrategyContext
Readonly
workerInherited from AbstractPool.workerNodes
+Readonly
Internal
workerPool worker nodes.
+Inherited from AbstractPool.workerNodes
Protected
busyWhether the pool is busy or not.
+The pool busyness boolean status.
+Overrides AbstractPool.busy
Protected
fullOverrides AbstractPool.full
+Whether the pool is full or not.
+The pool filling boolean status.
+Inherited from AbstractPool.full
Private
numberNumber of tasks queued in the pool.
+Pool information.
Inherited from AbstractPool.numberOfQueuedTasks
+Inherited from AbstractPool.info
Private
numberProtected
maxNumber of tasks running in the pool.
+The pool maximum size.
Inherited from AbstractPool.numberOfRunningTasks
+Inherited from AbstractPool.maxSize
Protected
minThe pool minimum size.
+Inherited from AbstractPool.minSize
+Private
readyThe pool readiness boolean status.
+Inherited from AbstractPool.ready
+Protected
typeThe pool type.
+If it is 'dynamic'
, it provides the max
property.
Overrides AbstractPool.type
Private
utilizationThe approximate pool utilization.
+The pool utilization.
+ +Inherited from AbstractPool.utilization
+Protected
workerThe worker type.
+Overrides AbstractPool.worker
+Protected
afterAdds a task function to this pool. +If a task function with the same name already exists, it will be overwritten.
+The name of the task function.
+The task function.
+true
if the task function was added, false
otherwise.
https://nodejs.org/api/errors.html#class-typeerror If the name
parameter is not a string or an empty string.
https://nodejs.org/api/errors.html#class-typeerror If the fn
parameter is not a function.
Inherited from AbstractPool.addTaskFunction
+Protected
afterHook executed after the worker task execution. Can be overridden.
@@ -262,37 +401,45 @@ Can be overridden.The worker.
-The worker node key.
+The received message.
-Inherited from AbstractPool.afterTaskExecutionHook
+Inherited from AbstractPool.afterTaskExecutionHook
Protected
afterProtected
afterMethod hooked up after a worker node has been newly created. +Can be overridden.
+Overrides AbstractPool.afterWorkerSetup
+The newly created worker node key.
+Inherited from AbstractPool.afterWorkerNodeSetup
Protected
beforeProtected
beforeHook executed before the worker task execution. Can be overridden.
@@ -301,237 +448,603 @@ Can be overridden.The worker node key.
-Inherited from AbstractPool.beforeTaskExecutionHook
+ +The task to execute.
+Inherited from AbstractPool.beforeTaskExecutionHook
Protected
chooseProtected
createChooses a worker node for the next task.
-The default uses a round robin algorithm to distribute the load.
+Creates a new, completely set up dynamic worker node.
+New, completely set up dynamic worker node key.
-[worker node key, worker node].
+Inherited from AbstractPool.createAndSetupDynamicWorkerNode
+Protected
createCreates a new, completely set up worker node.
Inherited from AbstractPool.chooseWorkerNode
+New, completely set up worker node key.
+ +Inherited from AbstractPool.createAndSetupWorkerNode
Protected
createProtected
createCreates a new worker and sets it up completely in the pool worker nodes.
+Creates a new worker.
+Newly created worker.
-New, completely set up worker.
+Overrides AbstractPool.createWorker
+Protected
deregisterDeregisters a listener callback on the worker given its worker node key.
Inherited from AbstractPool.createAndSetupWorker
+The worker node key.
+The message listener callback.
+Overrides AbstractPool.deregisterWorkerMessageListener
Protected
createOverrides AbstractPool.createWorker
+Terminates all workers in this pool.
+Inherited from AbstractPool.destroy
Protected
destroyInherited from AbstractPool.destroy
+Terminates the worker node given its worker node key.
+The worker node key.
+Overrides AbstractPool.destroyWorkerNode
Enables/disables the worker node tasks queue in this pool.
+Overrides AbstractPool.destroyWorker
+Whether to enable or disable the worker node tasks queue.
+Optional
tasksQueueOptions: TasksQueueOptionsThe worker node tasks queue options.
+Inherited from AbstractPool.enableTasksQueue
Executes the specified function in the worker constructor with the task data input parameter.
+Inherited from AbstractPool.execute
+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.
+Promise that will be fulfilled when the task is completed.
+ +Inherited from AbstractPool.execute
Protected
flushInherited from AbstractPool.findFreeWorkerNodeKey
+Inherited from AbstractPool.flushTasksQueue
Protected
internalProtected
getInherited from AbstractPool.internalBusy
+Gets the worker information given its worker node key.
+The worker node key.
+The worker information.
+ +Inherited from AbstractPool.getWorkerInfo
Protected
isOverrides AbstractPool.isMain
+Whether the specified task function exists in this pool.
+The name of the task function.
+true
if the task function exists, false
otherwise.
Inherited from AbstractPool.hasTaskFunction
Internal
+Whether the worker node has back pressure (i.e. its tasks queue is full).
+The worker node key.
+true
if the worker node has back pressure, false
otherwise.
Inherited from AbstractPool.hasWorkerNodeBackPressure
+Protected
internalWhether worker nodes are executing concurrently their tasks quota or not.
+Worker nodes busyness boolean status.
+ +Inherited from AbstractPool.internalBusy
+Protected
isShould return whether the worker is the main worker or not.
+Overrides AbstractPool.isMain
+Lists the names of task function available in this pool.
+The names of task function available in this pool.
+ +Inherited from AbstractPool.listTaskFunctionNames
+Protected
registerThe worker node key.
+The message listener callback.
+Overrides AbstractPool.registerWorkerMessageListener
+Overrides AbstractPool.registerOnceWorkerMessageListener
Protected
sendProtected
registerRegisters a listener callback on the worker given its worker node key.
+The worker node key.
+Overrides AbstractPool.sendToWorker
+The message listener callback.
+Overrides AbstractPool.registerWorkerMessageListener
Removes a task function from this pool.
+Inherited from AbstractPool.setWorkerChoiceStrategy
+The name of the task function.
+true
if the task function was removed, false
otherwise.
Inherited from AbstractPool.removeTaskFunction
Protected
setupProtected
sendSetup hook to execute code before worker node are created in the abstract constructor. -Can be overridden
+Inherited from AbstractPool.sendKillMessageToWorker
+Protected
sendSends the startup message to worker given its worker node key.
Inherited from AbstractPool.setupHook
+The worker node key.
+Overrides AbstractPool.sendStartupMessageToWorker
Protected
workerProtected
sendThis function is the listener registered for each worker message.
- -The listener function to execute when a message is received from a worker.
+Sends a message to worker given its worker node key.
The worker node key.
+The message.
+Optional
transferList: TransferListItem[]The optional array of transferable objects.
+Overrides AbstractPool.sendToWorker
+This function is the listener registered for each worker message.
+Sets the default task function in this pool.
+The name of the task function.
+true
if the default task function was set, false
otherwise.
The listener function to execute when a message is received from a worker.
+Inherited from AbstractPool.setDefaultTaskFunction
+Sets the worker node tasks queue options in this pool.
+The worker node tasks queue options.
+Inherited from AbstractPool.setTasksQueueOptions
+Sets the worker choice strategy in this pool.
+The worker choice strategy.
+Optional
workerChoiceStrategyOptions: WorkerChoiceStrategyOptionsThe worker choice strategy options.
+Inherited from AbstractPool.setWorkerChoiceStrategy
+Sets the worker choice strategy options in this pool.
+The worker choice strategy options.
+Inherited from AbstractPool.setWorkerChoiceStrategyOptions
+Protected
setupSetup hook to execute code before worker nodes are created in the abstract constructor. +Can be overridden.
+Inherited from AbstractPool.setupHook
+Starts the minimum number of workers in this pool.
+Inherited from AbstractPool.start
+Protected
workerThis method is the message listener registered on each worker.
Inherited from AbstractPool.workerListener
+Inherited from AbstractPool.workerMessageListener
Generated using TypeDoc
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.
-This pool selects the threads in a round robin fashion.
- -Author
Alessandro Pio Ardizio
+Author
Alessandro Pio Ardizio
-Since
0.0.1
+Since
0.0.1