62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
import { cronJobs } from 'convex/server';
|
|
import { internal } from './_generated/api';
|
|
|
|
const crons = cronJobs();
|
|
|
|
// Enviar mensagens agendadas a cada minuto
|
|
crons.interval(
|
|
'enviar-mensagens-agendadas',
|
|
{ minutes: 1 },
|
|
internal.chat.enviarMensagensAgendadas
|
|
);
|
|
|
|
// Processar fila de emails (incluindo agendados) a cada minuto
|
|
crons.interval('processar-fila-emails', { minutes: 1 }, internal.email.processarFilaEmails);
|
|
|
|
// Limpar indicadores de digitação antigos (>10s) a cada minuto
|
|
crons.interval(
|
|
'limpar-indicadores-digitacao',
|
|
{ minutes: 1 },
|
|
internal.chat.limparIndicadoresDigitacao
|
|
);
|
|
|
|
// Atualizar status de férias dos funcionários diariamente
|
|
crons.interval(
|
|
'atualizar-status-ferias',
|
|
{ hours: 24 },
|
|
internal.ferias.atualizarStatusTodosFuncionarios,
|
|
{}
|
|
);
|
|
|
|
crons.interval(
|
|
'expirar-bloqueios-ip-automaticos',
|
|
{ minutes: 5 },
|
|
internal.security.expirarBloqueiosIpAutomaticos,
|
|
{}
|
|
);
|
|
|
|
crons.interval(
|
|
'sincronizar-threat-intel',
|
|
{ hours: 2 },
|
|
internal.security.atualizarThreatIntelFeedsInternal,
|
|
{}
|
|
);
|
|
|
|
// Monitorar logs de login e detectar brute force a cada 5 minutos
|
|
crons.interval(
|
|
'monitorar-logs-login-brute-force',
|
|
{ minutes: 5 },
|
|
internal.security.monitorarLogsLogin,
|
|
{}
|
|
);
|
|
|
|
// Verificar e enviar notificações de alertas de banco de horas diariamente às 8h
|
|
crons.interval(
|
|
'verificar-alertas-banco-horas',
|
|
{ hours: 24 },
|
|
internal.pontos.enviarNotificacoesAlertasBancoHoras,
|
|
{}
|
|
);
|
|
|
|
export default crons;
|