Calendario operativo
Objetivo
Reunir en una sola vista todo lo que se ejecuta de forma recurrente en el ecosistema: qué corre, cuándo, dónde y qué revisar después.
Sirve para responder rápido "¿esto ya debió haber corrido?" y para planear ventanas de mantenimiento sin pisar un proceso crítico.
Audiencia
Soporte, infraestructura y operación.
Alcance
Rutinas automáticas y manuales del ecosistema completo. El detalle de cada comando vive en la sección de operación del sistema correspondiente.
Estado documental
- Estado: Borrador
- Última actualización: 2026-08-02
- Owner: Pendiente
- SME requerido: soporte / operación
- Fuente resumida: scheduler de
sy-energy, cron del servidor y ciclo mensual declarado por operación.
Cada minuto
| Qué | Dónde | Notas |
|---|---|---|
Scheduler de Laravel (schedule:run) | Instancias de sy-energy (una por participante) | Es el motor de todas las tareas diarias y semanales de abajo. Si el cron se detiene, nada más corre. |
Scheduler de Laravel (schedule:run) | mem-api | Motor de las tareas de la cadena de precios. |
Configurado en server-configs.
Diario — sy-energy
Todas en zona horaria America/Mexico_City, ejecutadas por el scheduler de sy-energy.
| Hora | Tarea | Comando | Para qué |
|---|---|---|---|
| 05:00 | Reintento de trabajos fallidos | queue:retry all | Reprocesa lo que quedó en la tabla de fallidos antes de arrancar el día. |
| 05:05 | Sincronización de ECD | ecd:sync <fecha> | Descarga los Estados de Cuenta Diarios de CENACE. Usa la fecha de hace 5 días. |
| 05:30 | Creación de facturas | ecd:create_invoices | Genera los CFDI pendientes vía Factura.com. |
| 05:45 | Carga de facturas a S3 | ecd:upload_invoices_to_s3 | Deja en S3 las facturas creadas para que el bot las suba al SIM. |
| 06:00 | Sincronización de demanda | service:demand-sync | Trae la demanda de los centros de carga. |
| 06:45 | Carga de facturas al SIM | ecd:upload_invoices | Encola la subida de documentos al portal de CENACE. |
| 08:15 | Estatus de facturas | ecd:invoices_status | Consulta en el SIM el resultado de las facturas cargadas. |
| 08:30 | Sincronización de REA | bot:queue --slug=rea | Dispara el bot que descarga la REA. |
Ventana crítica
Entre las 05:00 y las 08:30 corre la cadena completa de ECD y facturación. Evitar despliegues, reinicios de workers y mantenimiento de base de datos en esa franja.
Detalle completo en Scheduler y batch de sy-energy.
Diario — MEM
| Hora | Tarea | Sistema | Notas |
|---|---|---|---|
| 05:00 | Sincroniza nodos de MTR | mem-api | Con 7 días de desfase. |
| 05:10 | Sincroniza nodos de MDA del día | mem-api | Sin desfase. |
| 05:10 | Sincroniza zonas de carga de MDA | mem-api | Sin desfase. |
| 05:20 | Limpieza de volcados SQL locales | Servidor | Evita que se llene el disco. |
Detalle en Operación de mem-api.
Cada hora, en ventana vespertina
| Ventana | Tarea | Sistema |
|---|---|---|
| 17:00 – 22:00, en punto | Descarga de reportes de precios MTR del sistema SIN | mem-api → mem-sync-prices |
| 17:00 – 22:30, al minuto 10 | Descarga de reportes de precios MDA del sistema SIN | mem-api → mem-sync-prices |
Corresponde al horario en que CENACE publica. Los sistemas BCA y BCS no están programados.
Semanal
| Día y hora | Tarea | Sistema |
|---|---|---|
| Lunes 07:00 | Primera etapa de referencia bancaria en el SIM (bot:queue --slug=bank-one) | sy-energy |
| Sábado 05:00 / 05:05 / 05:15 | Respaldo de base de datos, uno por servicio | data-base-dumper |
| Domingo 00:30 / 01:00 / 01:30 | Respaldo de base de datos, uno por servicio | server-configs |
Dos mecanismos de respaldo coexisten
Los respaldos aparecen dos veces, en días distintos y con implementaciones distintas. No está confirmado si ambos están activos, si uno reemplazó al otro, o si son complementarios.
Antes de confiar en cualquiera de los dos como respaldo de referencia, verificar cuál está realmente corriendo. Ver Operación de data-base-dumper.
Mensual
| Cuándo | Tarea | Sistema |
|---|---|---|
| Antes del día 1 | Cargar las tarifas publicadas por CFE y calcular la tarifa de cada centro de carga | cfe-rates-microservice |
| Día 1 | Facturación de contratos de costo fijo por centro de carga | sy-energy |
| Día 4 | Facturación de contratos pass-through por centro de carga | sy-energy |
El paso previo en cfe-rates-microservice no es opcional: sin la tarifa CFE calculada, el cliente no puede registrar su tarifa fija y ese contrato no se puede facturar el día 1. Requiere el consumo completo del mes.
Es el proceso más sensible del mes: se ejecuta manualmente y produce documentos fiscales. El procedimiento paso a paso está en Ciclo mensual de facturación.
El día 4 no es una convención arbitraria: cada participante tiene una fecha de corte pass-through configurable, con valor por omisión de 3 días. Si un participante tiene otro valor, su ciclo corre en otra fecha.
Rutinas manuales sin calendario definido
Existen, tienen efecto operativo, y nadie tiene asignada su ejecución. Es el gap más relevante de este documento.
| Rutina | Sistema | Frecuencia esperada | Estado |
|---|---|---|---|
| Sincronización de mediciones de alta tensión | cfetx-microservice | Sin confirmar | Alimenta demanda que después se factura. |
Etapas 2 y 3 del FOP (bank-two, bank-three) | sy-energy | Después de la etapa 1 semanal | Sin procedimiento ni responsable documentado. |
| Sincronización de precios de BCA y BCS | mem-api | Sin confirmar | Solo SIN está programado. |
Ventanas a proteger
| Cuándo | Por qué |
|---|---|
| Diario 05:00 – 08:30 | Corre la cadena completa de ECD y facturación, más la sincronización del MEM. |
| Diario 17:00 – 22:30 | Ventana de publicación de precios de CENACE. |
| Día 1 y día 4 del mes | Ciclo mensual de facturación: se emiten documentos fiscales. |
| Lunes por la mañana | Referencia bancaria en el SIM. |
| Sábado y domingo de madrugada | Respaldos de base de datos. |
Evitar despliegues, reinicios de workers y mantenimiento de base de datos en esas franjas.
Riesgos y gaps
- Cuatro rutinas manuales sin responsable ni calendario definido.
- Duplicidad de mecanismos de respaldo sin resolver.
- No hay alerta cuando una tarea programada no corre o falla; la detección es manual en todos los casos.
- BCA y BCS quedan fuera de la sincronización automática de precios.
- Falta definir responsable por rutina.
Próxima revisión
Al cerrar la documentación de cada grupo de sistemas.