Class AbstractSimpleTask<TaskType, TaskProps, ReturnType, CommonTaskContext>Abstract

Task constructor params

Type Parameters

  • TaskType extends string
  • TaskProps extends TTaskProps
  • ReturnType
  • CommonTaskContext

Hierarchy

  • TypedEventEmitter<TaskEvents, this>
    • AbstractSimpleTask

Implements

Constructors

Properties

abortSignal: AbortSignal
commonContext: CommonTaskContext
data: undefined | ReturnType

task data after runTask

description?: string | Promise<string>
disabled: boolean
end: undefined | Date
errorCount: number

Current run error count

errors: Set<{
    error: Error;
    ts: Date;
}>

Type declaration

  • error: Error
  • ts: Date
logger?: ILoggerLike
props: TaskProps
runCount: number

Total run count

runErrorCount: number

Total run error count

singleInstance: boolean = false

If task need to be a single instance, default is false

Example

public override readonly singleInstance = true;
start: undefined | Date
taskError: undefined | Error

this is actual error task did throw

trigger: TaskTrigger

task trigger type

type: TaskType

task type string

uuid: string

Methods

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Check if the task instance is allowed to restart, default is false

    Returns boolean | Promise<boolean>

    true if the task can be restarted, false otherwise

    Example

    public override allowRestart(): boolean {
    return this.status === TaskStatusType.REJECTED;
    }
  • Type Parameters

    • E extends "update"

    Parameters

    Returns boolean

  • Returns (string | symbol)[]

  • Returns number

  • Type Parameters

    • E extends "update"

    Parameters

    • event: E

    Returns number

  • Type Parameters

    • E extends "update"

    Parameters

    • event: E

    Returns TaskEvents[E][]

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Sleep time before retrying the task, default is 0

    Returns number | Promise<number>

    time in milliseconds to sleep before retrying

    Example

    public override onErrorSleep(): Promise<number> | number {
    return this.runCount * 100;
    }
  • Called before the task is running. how to use:

    • clear old errors
    • validate current props

    Returns boolean | Promise<boolean>

    true if the task should be started

    Example

    public override onPreStart(): Promise<boolean> | boolean {
    // leave only the last 10 errors
    if (this.errors.size > 10) {
    const errors = Array.from(this.errors);
    errors.splice(0, errors.length - 10);
    this.errors = new Set(errors);
    }
    return true;
    }
  • Called when the task is rejected

    Returns void | Promise<void>

    Example

    public override onRejected(): Promise<void> | void {
    this.logger?.error('Task rejected', this.taskError);
    }
  • Called when the task is resolved

    Returns void | Promise<void>

    Example

    public override onResolved(): Promise<void> | void {
    this.logger?.info('Task resolved', this.data);
    }
  • Event listener for task update event.

    Parameters

    • callback: (() => void)

      to call when task is updated

        • (): void
        • Returns void

    Returns void

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Type Parameters

    • E extends "update"

    Parameters

    • event: E

    Returns TaskEvents[E][]

  • Type Parameters

    • E extends "update"

    Parameters

    • Optional event: E

    Returns this

  • Type Parameters

    • E extends "update"

    Parameters

    Returns this

  • Check if the task is allowed to be retried on error, default is false

    Returns boolean | Promise<boolean>

    true if the task should be retried, false otherwise

    Example

    public override retry(): Promise<boolean> | boolean {
    return this.errorCount < 4;
    }
  • Parameters

    • maxListeners: number

    Returns this

Generated using TypeDoc