demand-sync-service
Qué es
El servicio que sincroniza, desde MediMEM de CFE, la demanda de los centros de carga, y la entrega a sy-energy por cola.
Es la fuente principal de demanda del ecosistema: la que alimenta los estados de cuenta mensuales.
Tipo de sistema
| Campo | Valor |
|---|---|
| Tipo | API / servicio |
| Lenguaje y framework | PHP 8.5 · Laravel 13 |
| Base de datos | MySQL |
| Colas | Cola propia, consumida por un worker dedicado |
| Ejecución | Servidor, con worker de cola |
| Despliegue | Deployer + GitHub Actions |
Estado documental
- Estado: Borrador
- Última actualización: 2026-08-02
- Owner: Pendiente
- SME requerido: desarrollo / operación
- Fuente resumida: comandos del repositorio y configuración de workers del servidor.
Qué hace
sy-energy ──service:demand-sync──► demand-sync-service
│
├─ consulta MediMEM de CFE
├─ procesa la demanda por centro de carga
└─ devuelve el resultado por cola
│
sy-energy ◄┘sy-energy dispara la sincronización a diario a las 06:00; este servicio hace la consulta a CFE y devuelve la demanda.
Comandos
| Comando | Qué hace |
|---|---|
sync:demand | Sincroniza la demanda usando el servicio MediMEM de CFE y devuelve el resultado al endpoint de respuesta. |
demand:sync {starting_at?} {ending_at?} {--rpu=} {--rmu=} | Sincroniza la demanda de todos los centros de carga o de uno dado. |
demand:export | Exporta la demanda a CSV. Útil como evidencia o para conciliar. |
Identificadores
| Identificador | Qué es |
|---|---|
| RPU | Registro permanente del usuario. Es el identificador que entiende CFE. |
| RMU | Identificador del centro de carga en sy-energy. |
El mapeo RPU ↔ RMU es el punto crítico
Este servicio es la frontera entre el mundo de CFE, que habla de RPU, y el de sy-energy, que habla de RMU.
Si el mapeo está mal, la demanda existe pero se asigna al centro de carga equivocado. Los totales cuadran y aun así dos clientes reciben importes incorrectos. No se detecta buscando faltantes.
Scheduler
Sin tareas programadas propias
El scheduler de este servicio está vacío. La sincronización la dispara sy-energy a diario a las 06:00, no este servicio por sí mismo.
Lo que sí corre de forma permanente es su worker de cola, gestionado por Supervisor con un tiempo de espera amplio para consultas largas.
Relación con otros sistemas
| Sistema | Relación |
|---|---|
| MediMEM de CFE | Origen de la demanda. |
sy-energy | La dispara y consume el resultado. Ver Demanda. |
server-configs | Define su worker de cola. |
Si falla
| Síntoma | Causa probable | Acción |
|---|---|---|
| No llega demanda de ningún centro | El servicio está caído, o MediMEM no responde. | Verificar el worker y probar una sincronización acotada. |
| Falta demanda de un centro específico | Mapeo de RPU incorrecto, o el centro no está en MediMEM. | Verificar el mapeo antes que nada. |
| Demanda incompleta en horas | La consulta a CFE devolvió parcial. | Recuperar el rango y recalcular la horaria en sy-energy. |
El comando corre pero sy-energy no lo refleja | El worker está caído. | Revisar Supervisor. |
Riesgos y gaps
- No hay alerta cuando la sincronización diaria llega incompleta.
- No está documentado el comportamiento ante indisponibilidad de MediMEM.
- No está documentado el catálogo de mapeo RPU ↔ RMU ni su trazabilidad.
- No está documentado el volumen esperado por día, lo que impide detectar una sincronización parcial.
Próxima revisión
Al documentar el mapeo RPU ↔ RMU con operación.