UNPKG

@foxpage/foxpage-manager

Version:

foxpage resource manager

30 lines (29 loc) 830 B
import { Logger } from '@foxpage/foxpage-shared'; import { ScheduleEvents } from '@foxpage/foxpage-types'; import { FPEventEmitterInstance } from '../common'; export type ScheduleAction<T> = (data: T | undefined) => Promise<null | undefined | T>; export interface ScheduleOptions { appId: string; interval: number; } export interface Schedule<T> { start(): void; stop(): void; } /** * schedule * * @export * @class Schedule * @extends {FPEventEmitterInstance<ScheduleEvents<T>>} */ export declare class Schedule<T> extends FPEventEmitterInstance<ScheduleEvents<T>> { private appId; readonly interval: number; readonly action: ScheduleAction<T>; private handler; logger: Logger; private data?; constructor(action: ScheduleAction<T>, opt?: ScheduleOptions); private dispatch; }