import { AbstractPool } from "https://deno.land/x/poolifier@v0.3.14/src/mod.ts";
Base class that implements some shared logic for all poolifier pools.
Constructors
Properties
The task functions added at runtime map:
key
: The task function name.value
: The task function itself.
Whether the pool is busy or not.
The pool busyness boolean status.
The 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.
The pool type.
If it is 'dynamic'
, it provides the max
property.
The worker type.
Worker choice strategy context referencing a worker choice algorithm implementation.
This method is the message listener registered on each worker.
Methods
Adds the given worker node in the pool worker nodes.
Checks if the worker id sent in the received message from a worker is valid.
Chooses a worker node for the next task.
The default worker choice strategy uses a round robin algorithm to distribute the tasks.
Creates a worker node.
Executes the given task on the worker given its worker node key.
Gets the worker node key given its worker id.
Sends the statistics message to worker given its worker node key.
Whether the worker node shall update its task function worker usage or not.
Starts the minimum number of workers.
Hook executed after the worker task execution. Can be overridden.
Method hooked up after a worker node has been newly created. Can be overridden.
Hook executed before the worker task execution. Can be overridden.
Emits dynamic worker creation events.
Creates a new, completely set up dynamic worker node.
Creates a new, completely set up worker node.
Deregisters a listener callback on the worker given its worker node key.
Terminates the worker node given its worker node key.
Gets the worker information given its worker node key.
Whether worker nodes are executing concurrently their tasks quota or not.
Should return whether the worker is the main worker or not.
Registers once a listener callback on the worker given its worker node key.
Registers a listener callback on the worker given its worker node key.
Removes the worker node from the pool worker nodes.
Sends the startup message to worker given its worker node key.
Sends a message to worker given its worker node key.
Setup hook to execute code before worker nodes are created in the abstract constructor. Can be overridden.
Conditions for dynamic worker creation.