Skip to content

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

CampoValor
TipoAPI / servicio
Lenguaje y frameworkPHP 8.5 · Laravel 13
Base de datosMySQL
ColasCola propia, consumida por un worker dedicado
EjecuciónServidor, con worker de cola
DespliegueDeployer + 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

text
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

ComandoQué hace
sync:demandSincroniza 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:exportExporta la demanda a CSV. Útil como evidencia o para conciliar.

Identificadores

IdentificadorQué es
RPURegistro permanente del usuario. Es el identificador que entiende CFE.
RMUIdentificador 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

SistemaRelación
MediMEM de CFEOrigen de la demanda.
sy-energyLa dispara y consume el resultado. Ver Demanda.
server-configsDefine su worker de cola.

Si falla

SíntomaCausa probableAcción
No llega demanda de ningún centroEl servicio está caído, o MediMEM no responde.Verificar el worker y probar una sincronización acotada.
Falta demanda de un centro específicoMapeo de RPU incorrecto, o el centro no está en MediMEM.Verificar el mapeo antes que nada.
Demanda incompleta en horasLa consulta a CFE devolvió parcial.Recuperar el rango y recalcular la horaria en sy-energy.
El comando corre pero sy-energy no lo reflejaEl 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.