UNPKG

@vendure/core

Version:

A modern, headless ecommerce framework

35 lines (34 loc) 1.35 kB
import { UpdateScheduledTaskInput } from '@vendure/common/lib/generated-types'; import { Cron } from 'croner'; import { Injector } from '../../common'; import { ScheduledTask } from '../../scheduler/scheduled-task'; import { SchedulerStrategy, TaskReport } from '../../scheduler/scheduler-strategy'; /** * @description * The default {@link SchedulerStrategy} implementation that uses the database to * execute scheduled tasks. This strategy is configured when you use the * {@link DefaultSchedulerPlugin}. * * @since 3.3.0 * @docsCategory scheduled-tasks */ export declare class DefaultSchedulerStrategy implements SchedulerStrategy { private connection; private injector; private intervalRef; private readonly tasks; private pluginOptions; private runningTasks; init(injector: Injector): void; destroy(): Promise<void>; registerTask(task: ScheduledTask): void; executeTask(task: ScheduledTask): (job?: Cron) => Promise<void>; getTasks(): Promise<TaskReport[]>; getTask(id: string): Promise<TaskReport | undefined>; updateTask(input: UpdateScheduledTaskInput): Promise<TaskReport>; triggerTask(task: ScheduledTask): Promise<void>; private checkForManuallyTriggeredTasks; private entityToReport; private ensureAllTasksAreRegistered; private ensureTaskIsRegistered; }