@mann-conomy/job-scheduler
Version:
A simple background job scheduler for the Mann-Conomy project.
17 lines (16 loc) • 675 B
TypeScript
import EventEmitter from "events";
import type { JobExpression, JobOptions, JobResolver, ScheduledJob } from "../types/job";
export default class JobScheduler extends EventEmitter {
private readonly timeZone;
private readonly jobs;
constructor(timeZone: string);
schedule<T>(id: string, expression: JobExpression, resolver: JobResolver<T>, options?: Partial<JobOptions>): void;
getJobs(): ScheduledJob[];
getJobIds(): string[];
getScheduledJobs(): Map<string, ScheduledJob>;
get(id: string): ScheduledJob;
start(id: string): void;
stop(id: string): Promise<void>;
delete(id: string): Promise<boolean>;
getTimeZone(): string;
}