API Reference - job-scheduler
CronJob
interface CronJob extends cron.ParserOptions<false> {
id: string;
type: "cron";
expression: string;
execute: ExecuteFn;
}A job that is executed based on a CRON expression. Backed by cron-parser.
cron.ParserOptions includes options like timezone.
Properties
id: stringtype: 'cron'expression: string
Seecron-parser's supported expressionsexecute: ExecuteFn
defineJobScheduler
function defineJobScheduler(options?: JobSchedulerConfig): JobScheduler {
// ...
}Requires the
alarmspermission.
Creates a JobScheduler backed by the alarms API.
Parameters
options?: JobSchedulerConfig
Returns
A JobScheduler that can be used to schedule and manage jobs.
ExecuteFn
type ExecuteFn = () => Promise<any> | any;Function ran when executing the job. Errors are automatically caught and will trigger the "error" event. If a value is returned, the result will be available in the "success" event.
IntervalJob
interface IntervalJob {
id: string;
type: "interval";
duration: number;
immediate?: boolean;
execute: ExecuteFn;
}A job that executes on a set interval, starting when the job is scheduled for the first time.
Properties
id: stringtype: 'interval'duration: number
Interval in milliseconds. Due to limitations of the alarms API, it must be greater than 1 minute.immediate?: boolean(default:false)
Execute the job immediately when it is scheduled for the first time. Iffalse, it will execute for the first time afterduration. This has no effect when updating an existing job.execute: ExecuteFn
Job
type Job = IntervalJob | CronJob | OnceJob;JobScheduler
interface JobScheduler {
scheduleJob(job: Job): Promise<void>;
removeJob(jobId: string): Promise<void>;
on(
event: "success",
callback: (job: Job, result: any) => void
): RemoveListenerFn;
on(
event: "error",
callback: (job: Job, error: unknown) => void
): RemoveListenerFn;
}JobSchedulerConfig
interface JobSchedulerConfig {
logger?: Logger | null;
}Configures how the job scheduler behaves.
Properties
logger?: Logger | null(default:console)
The logger to use when logging messages. Set tonullto disable logging.
Logger
interface Logger {
debug(...args: any[]): void;
log(...args: any[]): void;
warn(...args: any[]): void;
error(...args: any[]): void;
}Interface used to log text to the console when creating and executing jobs.
OnceJob
Runs a job once, at a specific date/time.
Properties
id: stringtype: 'once'date: Date | string | number
The date to run the job on.execute: ExecuteFn
API reference generated by plugins/typescript-docs.ts