Skip to content

Operación de mem-api

Cuándo usar este documento

Para verificar que la sincronización de precios está corriendo, o para recuperar un periodo faltante.

Audiencia

Soporte y desarrollo.

Estado documental

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: desarrollo
  • Fuente resumida: scheduler y comandos del repositorio.

Tareas recurrentes

Todas en zona horaria America/Mexico_City.

Diarias

HoraTareaComando
05:00Sincroniza nodos de MTR con 7 días de desfasesync:node --type=node --market=mtr --date=<hoy-7>
05:10Sincroniza nodos de MDA del díasync:node --type=node --market=mda --date=<hoy>
05:10Sincroniza zonas de carga de MDA del díasync:node --type=charge_zone --market=mda --date=<hoy>

Dos desfases distintos

MDA se sincroniza el mismo día: son precios del día siguiente, ya publicados.

MTR se sincroniza con 7 días de desfase: son precios de la operación real, que CENACE publica después. Confundirlos lleva a reportar un faltante que no existe.

Cada hora, en ventana

Disparo del bot que descarga los reportes de CENACE:

VentanaFrecuenciaTarea
17:00 – 22:00Cada hora, en puntobot:sync-prices --system=SIN --report=nodes --market=mtr
17:00 – 22:30Cada hora, al minuto 10bot:sync-prices --system=SIN --report=nodes --market=mda

La ventana de la tarde corresponde al horario en que CENACE publica. Reintentar cada hora cubre publicaciones tardías sin machacar el portal todo el día.

Solo SIN está programado

Las tareas automáticas cubren únicamente el sistema SIN. Los sistemas BCA y BCS están soportados por los comandos pero no se sincronizan automáticamente. Si se requieren, hay que ejecutarlos a mano — o es un gap por resolver.

Comandos

ComandoQué hace
sync:node --type= --slug= --system= --market= --date= --ending_at=Sincroniza datos de nodos o zonas de carga desde la API de CENACE. --type es obligatorio: node o charge_zone. Sin --date usa ayer.
bot:sync-prices --market= --report= --date= --system= --retry=Llama al bot que descarga los reportes de CENACE. --report: marginals, nodes o services.
sync:commodity --slug= --currency= --date= --ending_at=Sincroniza precios de insumos. Por omisión gas natural en dólares, del día en curso.
dispatch:commodity --slug= --currency= --date= --ending_at=Encola la sincronización de insumos.
token:createAdministra los tokens de acceso a la API.

Los comandos que aceptan --ending_at procesan un rango de fechas: útil para recuperar un periodo, y con efecto multiplicador si el rango es largo.

Verificaciones

QuéCómo
El scheduler está vivoExiste la entrada de cron de este servicio en el servidor.
El worker está arribaEl programa de este servicio aparece en RUNNING en Supervisor.
Llegaron los precios del díaConsultar los precios de la fecha esperada, respetando el desfase de cada mercado.
No hay trabajos fallidosphp artisan queue:failed

Recuperar un periodo

bash
# Nodos de MDA para un rango
php artisan sync:node --type=node --market=mda --date=<Y-m-d> --ending_at=<Y-m-d>

# Nodos de MTR para un rango
php artisan sync:node --type=node --market=mtr --date=<Y-m-d> --ending_at=<Y-m-d>

# Zonas de carga
php artisan sync:node --type=charge_zone --market=mda --date=<Y-m-d> --ending_at=<Y-m-d>

Si CENACE no publicó todavía, la sincronización no traerá nada: verificar la fecha contra el desfase antes de asumir una falla.

Si falla

SíntomaCausa probableAcción
No hay precios del díaLa fecha aún no corresponde por el desfase del mercado.Verificar el desfase antes de investigar.
Faltan precios de varios díasEl bot o la API de CENACE fallaron.Revisar logs y recuperar el rango.
Faltan precios de BCA o BCSNo están programados.Ejecutar a mano con --system=.
Los comandos corren sin efectoEl worker está caído.Revisar Supervisor.
sy-energy no tiene preciosEl problema puede estar aquí o en la cadena previa.Verificar primero que los precios existen en el MEM.

Riesgos y gaps

  • BCA y BCS no se sincronizan automáticamente.
  • No hay alerta cuando falta un día de precios.
  • No está documentado el volumen esperado por día, así que no hay forma de detectar una sincronización parcial.
  • La ventana de la tarde asume el horario de publicación de CENACE; si cambia, no hay quien lo detecte.

Próxima revisión

Al confirmar el tratamiento de BCA y BCS con desarrollo.