X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=docs%2Fclasses%2FFixedThreadPool.html;h=1836da110382c4470026ee64325e36d2676c6b9a;hb=1cc6e9ef64f399f4ca58da8079ef72a011ac4227;hp=b8b8e4a84c8891535718d2298c9bdce134c0b3d3;hpb=881050e41e8c464ce0c3537d05898bd42ed87631;p=poolifier.git diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index b8b8e4a8..1836da11 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
fileInherited from AbstractPool.filePath
-Protected
nextId of the next message.
-Inherited from AbstractPool.nextMessageId
-Readonly
numberInherited from AbstractPool.numberOfWorkers
-Readonly
optsInherited from AbstractPool.opts
-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.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).When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.
-Inherited from AbstractPool.promiseMap
-Protected
workerWorker choice strategy instance implementing the worker choice algorithm.
-Default to a strategy implementing a round robin algorithm.
-Inherited from AbstractPool.workerChoiceStrategyContext
+Inherited from AbstractPool.emitter
Readonly
workersInherited from AbstractPool.workers
+Protected
Readonly
filePath to the worker file.
+Inherited from AbstractPool.filePath
Readonly
workersInherited from AbstractPool.workersTasksUsage
+Protected
Optional
Readonly
maxDynamic pool maximum size property placeholder.
+Inherited from AbstractPool.max
+Protected
Readonly
numberNumber of workers that this pool should manage.
+Inherited from AbstractPool.numberOfWorkers
+Protected
Readonly
optsOptions for this fixed thread pool.
+Inherited from AbstractPool.opts
+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
+Protected
workerWorker choice strategy context referencing a worker choice algorithm implementation.
+Inherited from AbstractPool.workerChoiceStrategyContext
+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
fullInherited from AbstractPool.numberOfRunningTasks
+Whether the pool is full or not.
+The pool filling boolean status.
+Inherited from AbstractPool.full
Pool information.
+Inherited from AbstractPool.info
+Protected
maxThe pool maximum size.
+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
afterHook executed after the worker task promise resolution. -Can be overridden.
+Adds a task function to this pool. +If a task function with the same name already exists, it will be overwritten.
The received message.
-The name of the task function.
+The Promise response.
-Inherited from AbstractPool.afterPromiseWorkerResponseHook
+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
afterProtected
afterHook executed after the worker task execution. +Can be overridden.
+Overrides AbstractPool.afterWorkerSetup
+The worker node key.
+The received message.
+Inherited from AbstractPool.afterTaskExecutionHook
Protected
beforeProtected
afterHook executed before the worker task promise resolution. +
Method hooked up after a worker node has been newly created. Can be overridden.
The worker.
-Inherited from AbstractPool.beforePromiseWorkerResponseHook
+The newly created worker node key.
+Inherited from AbstractPool.afterWorkerNodeSetup
Protected
chooseProtected
beforeChooses a worker for the next task.
-The default implementation uses a round robin algorithm to distribute the load.
- -Worker.
+Hook executed before the worker task execution. +Can be overridden.
+The worker node key.
+The task to execute.
Inherited from AbstractPool.chooseWorker
+Inherited from AbstractPool.beforeTaskExecutionHook
Protected
createProtected
createCreates a new worker for this pool and sets it up completely.
- -New, completely set up worker.
+Creates a new, completely set up dynamic worker node.
Inherited from AbstractPool.createAndSetupWorker
+New, completely set up dynamic worker node key.
+ +Inherited from AbstractPool.createAndSetupDynamicWorkerNode
Protected
createProtected
createOverrides AbstractPool.createWorker
+Creates a new, completely set up worker node.
+New, completely set up worker node key.
+ +Inherited from AbstractPool.createAndSetupWorkerNode
Protected
createInherited from AbstractPool.destroy
+Creates a new worker.
+Newly created worker.
+ +Overrides AbstractPool.createWorker
Protected
deregisterDeregisters a listener callback on the worker given its worker node key.
+The worker node key.
+The message listener callback.
+Overrides AbstractPool.destroyWorker
+Overrides AbstractPool.deregisterWorkerMessageListener
Terminates all workers in this pool.
+Inherited from AbstractPool.destroy
+Protected
destroyOverrides AbstractPool.destroyWorkerNode
Inherited from AbstractPool.findFreeWorker
+Enables/disables the worker node tasks queue in this pool.
+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.getWorkerAverageTasksRunTime
+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.getWorkerIndex
+Inherited from AbstractPool.flushTasksQueue
Protected
getGets the worker information given its worker node key.
+Inherited from AbstractPool.getWorkerRunningTasks
+The worker node key.
+The worker information.
+ +Inherited from AbstractPool.getWorkerInfo
Protected
internalWhether 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).
+Inherited from AbstractPool.internalExecute
+The worker node key.
+true
if the worker node has back pressure, false
otherwise.
Inherited from AbstractPool.hasWorkerNodeBackPressure
Protected
internalProtected
internalInherited from AbstractPool.internalGetBusyStatus
+Whether worker nodes are executing concurrently their tasks quota or not.
+Worker nodes busyness boolean status.
+ +Inherited from AbstractPool.internalBusy
Protected
isProtected
isOverrides AbstractPool.isMain
+Should 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
removeProtected
registerRemoves the given worker from the pool.
+Registers a listener callback on the worker given its worker node key.
The worker that will be removed.
-Inherited from AbstractPool.removeWorker
+The worker node key.
+The message listener callback.
+Overrides AbstractPool.registerWorkerMessageListener
Protected
sendRemoves a task function from this pool.
+The name of the task function.
+true
if the task function was removed, false
otherwise.
Inherited from AbstractPool.removeTaskFunction
+Protected
sendOverrides AbstractPool.sendToWorker
+Inherited from AbstractPool.sendKillMessageToWorker
Protected
sendSends the startup message to worker given its worker node key.
+Inherited from AbstractPool.setWorkerChoiceStrategy
+The worker node key.
+Overrides AbstractPool.sendStartupMessageToWorker
Protected
setupProtected
sendSetup hook that can be overridden by a Poolifier pool implementation -to run code before workers are created in the abstract constructor.
+Sends a message to worker given its worker node key.
Inherited from AbstractPool.setupHook
+The worker node key.
+The message.
+Optional
transferList: TransferListItem[]The optional array of transferable objects.
+Overrides AbstractPool.sendToWorker
Protected
workerThis function is the listener registered for each worker.
+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 listener registered for each worker message.
+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.
+This method is the listener registered for each worker message.
Inherited from AbstractPool.workerListener
+The listener function to execute when a message is received from a worker.
+ +Inherited from AbstractPool.workerListener
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