Class Worker<CommonTaskContext, TI>

Type Parameters

Hierarchy

Constructors

Properties

buildLog: TaskLogFunction
buildTaskUniqueId: (() => string)

Type declaration

    • (): string
    • Returns string

logger: MapLogger<TaskWorkerLogMapping>
stepFlowDelay: number
tasks: Map<string, TaskWorkerInstance<FullTaskInstance<unknown, TI>>> = ...

Methods

  • Type Parameters

    Parameters

    Returns this

  • set logger instance (or change it if already set on constructor)

    Parameters

    • logger: ILoggerLike

      any common logger instance (console, log4js, winston, etc.)

    Returns void

    See

    @avanio/logger-like for more info.

    Example

    worker.setLogger(console);
    
  • Type Parameters

    Parameters

    Returns boolean

  • Returns (string | symbol)[]

  • Returns number

  • get current task count in task worker

    Returns number

    number of tasks

    Example

    const taskCount = worker.getTaskCount();
    
  • handle timed jobs this resets task instance and run it again

    Parameters

    Returns Promise<void>

    • this method won't throw any error

    Throws

    never

  • Type Parameters

    Parameters

    • event: E

    Returns number

  • Type Parameters

    Parameters

    • event: E

    Returns WorkerEvents<TI>[E][]

  • Handle log keys with buildLog

    Parameters

    • key: "start" | "abort" | "rejected" | "resolved" | "delete" | "flow_abort" | "flow_error" | "flow_limit" | "flow_retry" | "flow_sleep" | "not_start" | "status_change_default" | "status_change_error" | "status_change_info"
    • workerInstance: TaskWorkerInstance<FullTaskInstance<unknown, TI>>
    • message: string

    Returns string

    log message as string

  • Type Parameters

    Parameters

    Returns this

  • Type Parameters

    Parameters

    Returns this

  • Type Parameters

    Parameters

    Returns this

  • Type Parameters

    Parameters

    Returns this

  • Type Parameters

    Parameters

    Returns this

  • Type Parameters

    Parameters

    • event: E

    Returns WorkerEvents<TI>[E][]

  • Type Parameters

    Parameters

    • Optional event: E

    Returns this

  • Type Parameters

    Parameters

    Returns this

  • Reset task instance values.

    • setup new abort controller
    • reject old promise if task is instant and not resolved/rejected yet
    • new DeferredPromise
    • reset task start and end dates
    • reset task status to Init

    Parameters

    Returns void

  • Restart this task instance if it's not in running state

    Type Parameters

    • ReturnType

    Parameters

    Returns Promise<void>

    Throws

    if task is already running

    Throws

    if task is not allowed to restart

  • Parameters

    • maxListeners: number

    Returns this

  • Start this task instance.

    Type Parameters

    • ReturnType

    Parameters

    Returns Promise<void>

    Promise that will be resolved when task is started

    Throws

    if task is already started

    Example

    await worker.startTask(task);
    
  • Update task instance with new data, this is useful when task is updated from outside (like database events).

    Note: this will not directly affect tasks flow directly, just updates task data and status.

    Parameters

    Returns Promise<void>

  • Wait for this task to be resolved/rejected on each run (also starts task if not started yet)

    Note: Task will be running and retried even if this Promise is thrown as new Promise will be created for each new run.

    Type Parameters

    • ReturnType

    Parameters

    Returns Promise<ReturnType>

    Promise of single run task data

    Throws

    if task is not instant

    Throws

    if task is already started

    Throws

    if task will be retried and continue to next retry run

Generated using TypeDoc