UNPKG

buddy-bot

Version:
38 lines 1.26 kB
import { Logger } from '../utils/logger'; import type { BuddyBotConfig } from '../types'; export declare interface ScheduleConfig { cron: string timezone?: string runOnStartup?: boolean maxRuntime?: number } export declare interface SchedulerJob { id: string name: string schedule: ScheduleConfig lastRun?: Date nextRun?: Date status: 'idle' | 'running' | 'error' config: BuddyBotConfig } export declare class Scheduler { private jobs: any; private timers: any; private logger: Logger; private isRunning: any; constructor(verbose?: any); addJob(job: SchedulerJob): void; removeJob(jobId: string): void; start(): void; stop(): void; getJobStatus(jobId: string): SchedulerJob | undefined; getAllJobs(): SchedulerJob[]; private scheduleJob(job: SchedulerJob): void; private runJob(job: SchedulerJob): Promise<void>; private executeJob(job: SchedulerJob): Promise<void>; private getNextRunTime(cronExpression: string, timezone?: string): Date | null; private parseCronExpression(cron: string, timezone?: string): Date; private parseCronField(field: string, min: number, max: number): number[]; static createJobFromConfig(config: BuddyBotConfig, jobId?: any): SchedulerJob; static readonly PRESETS: any; }