class LocalScheduleJobRunner

A Scheduled Job Runner that uses node-cron, setTimeout and runs as a single node.

Persists and loads schedules on process stop/ start in the datastore with the types lock-manager-timer and lock-manager-cron

Properties

crons

Signature
crons: Map<string, nodeCron.ScheduledTask>;

events

Signature
events: EventEmitter<[never]>;

timers

Signature
timers: Map<string, NodeJS.Timeout>;

Constructors

(constructor)()

Constructs a new instance of the LocalScheduleJobRunner class

Signature
constructor();

Methods

addScheduledTask(component, name, id, config, data)

Parameters
Name Type Description

component

string

name

string

id

string

config

{ isCron: true; crontab: string; } | { isCron: false; timeout: number; }

data

any

Returns

Promise<void>

Signature
addScheduledTask(component: string, name: string, id: string, config: {
        isCron: true;
        crontab: string;
    } | {
        isCron: false;
        timeout: number;
    }, data: any): Promise<void>;

addScheduleTaskListener(component, exec)

Parameters
Name Type Description

component

string

exec

(name: string, id: string, data: any) => Promise<void>

Returns

Promise<void>

Signature
addScheduleTaskListener(component: string, exec: (name: string, id: string, data: any) => Promise<void>): Promise<void>;

clearAllTimers()

Signature
clearAllTimers(): void;

hasSchedule(component, name, id)

Parameters
Name Type Description

component

string

name

string

id

string

Returns

Promise<boolean>

Signature
hasSchedule(component: string, name: string, id: string): Promise<boolean>;

removeSchedule(component, name, id)

Parameters
Name Type Description

component

string

name

string

id

string

Returns

Promise<void>

Signature
removeSchedule(component: string, name: string, id: string): Promise<void>;

startup()

Signature
startup(): Promise<void>;