Ir al contenido principal

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/:taskName y POST /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.sh en 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