* Handler id of the `activeInterval` worker activity check.
*/
protected activeInterval?: NodeJS.Timeout
+
/**
* Constructs a new poolifier worker.
*
- * @param type - The type of async event.
* @param isMain - Whether this is the main worker or not.
* @param mainWorker - Reference to main worker.
* @param taskFunctions - Task function(s) processed by the worker when the pool's `execution` function is invoked. The first function is the default function.
* @param opts - Options for the worker.
*/
public constructor (
- type: string,
protected readonly isMain: boolean,
private readonly mainWorker: MainWorker,
taskFunctions: TaskFunction<Data, Response> | TaskFunctions<Data, Response>,
protected opts: WorkerOptions = DEFAULT_WORKER_OPTIONS
) {
- // super(type)
if (this.isMain == null) {
throw new Error('isMain parameter is mandatory')
}
*
* @param task - The task to execute.
*/
- protected run (task: Task<Data>): void {
+ protected readonly run = (task: Task<Data>): void => {
const { name, taskId, data } = task
const taskFunctionName = name ?? DEFAULT_TASK_NAME
if (!this.taskFunctions.has(taskFunctionName)) {
* @param fn - Task function that will be executed.
* @param task - Input data for the task function.
*/
- protected runSync (
+ protected readonly runSync = (
fn: TaskSyncFunction<Data, Response>,
task: Task<Data>
- ): void {
+ ): void => {
const { name, taskId, data } = task
try {
let taskPerformance = this.beginTaskPerformance(name)
* @param fn - Task function that will be executed.
* @param task - Input data for the task function.
*/
- protected runAsync (
+ protected readonly runAsync = (
fn: TaskAsyncFunction<Data, Response>,
task: Task<Data>
- ): void {
+ ): void => {
const { name, taskId, data } = task
let taskPerformance = this.beginTaskPerformance(name)
fn(data)