UNPKG

iagate-querykit

Version:

QueryKit: lightweight TypeScript query toolkit with models, views, triggers, events, scheduler and adapters (better-sqlite3).

69 lines 2.13 kB
/** * Tipo para tarefas agendadas. * Função que será executada periodicamente pelo scheduler. */ type Task = () => void; /** * Scheduler para agendar e gerenciar tarefas periódicas. * Permite executar funções em intervalos regulares e cancelar execuções futuras. * * @example * ```typescript * // Dados iniciais * const cleanupTask = () => console.log('Limpando dados antigos...'); * const backupTask = () => console.log('Fazendo backup...'); * * // Como usar * scheduler.schedule('cleanup', cleanupTask, 60000); // A cada 1 minuto * scheduler.schedule('backup', backupTask, 3600000); // A cada 1 hora * * // Para cancelar * scheduler.unschedule('cleanup'); * * // Output: Tarefas agendadas e executando periodicamente * ``` */ export declare const scheduler: { /** * Agenda uma tarefa para execução periódica. * Se já existir uma tarefa com o mesmo nome, cancela a anterior. * * @param name - Nome único para identificar a tarefa * @param task - Função a ser executada periodicamente * @param intervalMs - Intervalo em milissegundos entre execuções * * @example * ```typescript * // Dados iniciais * const healthCheck = () => { * console.log('Verificando saúde do sistema...'); * }; * * // Como usar * scheduler.schedule('health-check', healthCheck, 30000); * * // Output: Tarefa 'health-check' agendada para executar a cada 30 segundos * ``` */ schedule(name: string, task: Task, intervalMs: number): void; /** * Cancela uma tarefa agendada pelo nome. * Para a execução periódica e remove o timer da memória. * * @param name - Nome da tarefa a ser cancelada * * @example * ```typescript * // Dados iniciais * scheduler.schedule('temp-task', () => console.log('temp'), 1000); * * // Como usar * scheduler.unschedule('temp-task'); * * // Output: Tarefa 'temp-task' cancelada e timer removido * ``` */ unschedule(name: string): void; }; export {}; //# sourceMappingURL=scheduler.d.ts.map