UNPKG

@stouder-io/adonis-scheduler

Version:
28 lines (27 loc) 797 B
declare module '@ioc:StouderIO/Scheduler' { import type { CronExpression, CronDate } from 'cron-parser'; export interface TaskContract { readonly name: string; readonly cron: string; run(): Promise<void>; } export interface SchedulerContract { loadTasks(): Promise<void>; wakeUp(taskName: string): Promise<void>; start(): Promise<void>; } export interface CachedTask { cron: CronExpression; nextRunAt: CronDate; task: TaskContract; } export interface TaskFile<T extends TaskContract> { absPath: string; name: string; getTask(): { new (): T; }; } const Scheduler: SchedulerContract; export default Scheduler; }