Servicio Cron
La aplicación incluye un servicio cron separado para manejar tareas programadas:
Iniciar servicio cron en modo de desarrollo
pnpm cron:dev
Iniciar servicio cron en modo de producción
pnpm cron:start
Iniciar servicio cron localmente (para pruebas)
pnpm cron:start-local
El servicio cron se ejecuta en un puerto separado (8667 en desarrollo, 9667 en producción) y gestiona tareas programadas como notificaciones de backup retrasado. El puerto se puede configurar utilizando la variable de entorno CRON_PORT.
El servicio de cron incluye:
- Punto de verificación de salud:
/health- Devuelve el estado del servicio y las tareas activas - Activación manual de tareas:
POST /trigger/:taskName- Ejecutar manualmente tareas programadas - Gestión de tareas:
POST /start/:taskNameyPOST /stop/:taskName- Controlar tareas individuales - Recarga de configuración:
POST /reload-config- Recargar configuración desde la base de datos - Reinicio automático: El servicio se reinicia automáticamente si falla (gestionado por
docker-entrypoint.shen despliegues de Docker) - Modo de observación: El modo de desarrollo incluye la observación de archivos para reinicios automáticos al cambiar el código
- Monitoreo de backups retrasados: Verificación y notificación automatizada de backups retrasados (se ejecuta cada 5 minutos por defecto)
- Limpieza de log de auditoría: Limpieza automatizada de entradas antiguas del log de auditoría (se ejecuta diariamente a las 2 AM UTC)
- Programación flexible: Expresiones cron configurables para diferentes tareas
- Integración de base de datos: Comparte la misma base de datos SQLite con la aplicación principal
- API RESTful: API completa para gestión y monitoreo del servicio