iagate-querykit
Version:
QueryKit: lightweight TypeScript query toolkit with models, views, triggers, events, scheduler and adapters (better-sqlite3).
69 lines • 2.13 kB
TypeScript
/**
* 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