Skip to main content
zerotal

Documentation


Documentation / @zerotal/scheduler / ScheduledTask

Class: ScheduledTask

Defined in: scheduler/src/ScheduledTask.ts:55

Constructors

Constructor

new ScheduledTask(name, schedule, callback): ScheduledTask

Defined in: scheduler/src/ScheduledTask.ts:100

Parameters

name

string

schedule

string

callback

TaskCallback

Returns

ScheduledTask

Properties

outputMailer

static outputMailer: OutputMailer | undefined = undefined

Defined in: scheduler/src/ScheduledTask.ts:91


lockManager

static lockManager: LockManager | null = null

Defined in: scheduler/src/ScheduledTask.ts:98

Distributed lock manager used for cross-process withoutOverlapping. Wired by SchedulerProvider from the container's lock binding. When unset, overlap protection falls back to the in-process guard only.

Accessors

name

Get Signature

get name(): string

Defined in: scheduler/src/ScheduledTask.ts:200

Returns

string


schedule

Get Signature

get schedule(): string

Defined in: scheduler/src/ScheduledTask.ts:203

Returns

string


isRunning

Get Signature

get isRunning(): boolean

Defined in: scheduler/src/ScheduledTask.ts:206

Returns

boolean


lastRunAt

Get Signature

get lastRunAt(): Date | undefined

Defined in: scheduler/src/ScheduledTask.ts:210

When the task last ran (undefined if never).

Returns

Date | undefined


lastOk

Get Signature

get lastOk(): boolean | undefined

Defined in: scheduler/src/ScheduledTask.ts:214

Whether the last run succeeded.

Returns

boolean | undefined


lastDurationMs

Get Signature

get lastDurationMs(): number | undefined

Defined in: scheduler/src/ScheduledTask.ts:218

Duration of the last run, in milliseconds.

Returns

number | undefined

Methods

timezone()

timezone(tz): this

Defined in: scheduler/src/ScheduledTask.ts:106

Parameters

tz

string

Returns

this


at()

at(time): this

Defined in: scheduler/src/ScheduledTask.ts:111

Parameters

time

string

Returns

this


withoutOverlapping()

withoutOverlapping(options?): this

Defined in: scheduler/src/ScheduledTask.ts:126

Parameters

options?

OverlapLockOptions

Returns

this


environments()

environments(envs): this

Defined in: scheduler/src/ScheduledTask.ts:135

Parameters

envs

string[]

Returns

this


between()

between(start, end): this

Defined in: scheduler/src/ScheduledTask.ts:139

Parameters

start

string

end

string

Returns

this


unlessBetween()

unlessBetween(start, end): this

Defined in: scheduler/src/ScheduledTask.ts:143

Parameters

start

string

end

string

Returns

this


when()

when(predicate): this

Defined in: scheduler/src/ScheduledTask.ts:147

Parameters

predicate

TaskGuard

Returns

this


skip()

skip(predicate): this

Defined in: scheduler/src/ScheduledTask.ts:151

Parameters

predicate

TaskGuard

Returns

this


runInBackground()

runInBackground(): this

Defined in: scheduler/src/ScheduledTask.ts:155

Returns

this


onStart()

onStart(fn): this

Defined in: scheduler/src/ScheduledTask.ts:159

Parameters

fn

TaskHook

Returns

this


onSuccess()

onSuccess(fn): this

Defined in: scheduler/src/ScheduledTask.ts:163

Parameters

fn

() => void | Promise<void>

Returns

this


onFailure()

onFailure(fn): this

Defined in: scheduler/src/ScheduledTask.ts:167

Parameters

fn

(err) => void | Promise<void>

Returns

this


pingBefore()

pingBefore(url): this

Defined in: scheduler/src/ScheduledTask.ts:171

Parameters

url

string

Returns

this


pingAfter()

pingAfter(url): this

Defined in: scheduler/src/ScheduledTask.ts:175

Parameters

url

string

Returns

this


pingOnSuccess()

pingOnSuccess(url): this

Defined in: scheduler/src/ScheduledTask.ts:179

Parameters

url

string

Returns

this


pingOnFailure()

pingOnFailure(url): this

Defined in: scheduler/src/ScheduledTask.ts:183

Parameters

url

string

Returns

this


appendOutputTo()

appendOutputTo(path): this

Defined in: scheduler/src/ScheduledTask.ts:187

Parameters

path

string

Returns

this


sendOutputTo()

sendOutputTo(path): this

Defined in: scheduler/src/ScheduledTask.ts:191

Parameters

path

string

Returns

this


emailOutputTo()

emailOutputTo(email): this

Defined in: scheduler/src/ScheduledTask.ts:195

Parameters

email

string

Returns

this


nextRunAt()

nextRunAt(from?): Date | null

Defined in: scheduler/src/ScheduledTask.ts:222

Next scheduled fire time from from (null if the expression never matches).

Parameters

from?

Date = ...

Returns

Date | null


runNow()

runNow(): Promise<void>

Defined in: scheduler/src/ScheduledTask.ts:226

Run the task body immediately, bypassing schedule/time-window guards.

Returns

Promise<void>


_buildHandler()

protected _buildHandler(): () => Promise<void>

Defined in: scheduler/src/ScheduledTask.ts:362

Returns

() => Promise<void>


start()

start(): void

Defined in: scheduler/src/ScheduledTask.ts:415

Returns

void


stop()

stop(): void

Defined in: scheduler/src/ScheduledTask.ts:430

Returns

void