Serviço Cron
A aplicação inclui um serviço cron separado para lidar com tarefas agendadas:
Iniciar serviço cron em modo de desenvolvimento
pnpm cron:dev
Iniciar serviço cron em modo de produção
pnpm cron:start
Iniciar serviço cron localmente (para testes)
pnpm cron:start-local
O serviço cron é executado em uma porta separada (8667 em desenvolvimento, 9667 em produção) e manipula tarefas agendadas como notificações de backup atrasado. A porta pode ser configurada usando a variável de ambiente CRON_PORT.
O serviço de cron inclui:
- Endpoint de verificação de saúde:
/health- Retorna o status do serviço e tarefas ativas - Acionamento manual de tarefas:
POST /trigger/:taskName- Executar manualmente tarefas agendadas - Gerenciamento de tarefas:
POST /start/:taskNameePOST /stop/:taskName- Controlar tarefas individuais - Recarregamento de configuração:
POST /reload-config- Recarregar configuração do banco de dados - Reinício automático: O serviço reinicia automaticamente se travar (gerenciado por
docker-entrypoint.shem implantações Docker) - Modo de observação: Modo de desenvolvimento inclui observação de arquivos para reinícios automáticos em mudanças de código
- Monitoramento de backups atrasados: Verificação e notificação automatizada de backups atrasados (executa a cada 5 minutos por padrão)
- Limpeza de log de auditoria: Limpeza automatizada de entradas antigas do log de auditoria (executa diariamente às 2h UTC)
- Agendamento flexível: Expressões cron configuráveis para diferentes tarefas
- Integração de banco de dados: Compartilha o mesmo banco de dados SQLite com o aplicativo principal
- API RESTful: API completa para gerenciamento e monitoramento do serviço