Skip to content

mem-sync-prices

Qué es

El bot que entra al portal público de CENACE, descarga los reportes CSV de precios y los deposita en S3.

Es el primer eslabón de la cadena de precios del MEM: sin él, no hay datos que procesar.

Tipo de sistema

CampoValor
TipoBot AWS Lambda
LenguajePython
AutomatizaciónSelenium con Chrome headless
EmpaquetadoImagen Docker
DisparoMensaje SQS
DespliegueAWS SAM (us-east-2), ambientes de desarrollo y producción

Estado documental

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: desarrollo
  • Fuente resumida: código, plantilla de despliegue y documentación del repositorio.

Qué hace

text
mensaje SQS  ──►  abre el portal de CENACE (MDA o MTR)

                        ├─ selecciona reporte, sistema y rango de fechas
                        ├─ busca los reportes disponibles
                        ├─ descarga los CSV
                        └─ los sube a S3

Si algo falla, el mensaje se envía a una cola de mensajes muertos para reprocesarlo después.

Incluye además una función de reproceso para volver a intentar descargas fallidas.

Parámetros del mensaje

CampoValoresPara qué
marketmda, mtrDefine a qué portal de CENACE entrar.
reportmarginals, nodes, servicesTipo de reporte a descargar.
systemSIN, BCS, BCASistema eléctrico.
start_date / end_datedd/mm/YYYYRango de fechas.
periodPuede venir en el mensaje; la implementación actual no lo usa.

Destino

Los CSV se depositan en un bucket de S3 por ambiente. Esa carga es la que dispara a mem-parse-csv-prices.

Fragilidad

Depende de la interfaz de CENACE

El bot navega el portal seleccionando elementos concretos de la página: combos de reporte, sistema y fechas, la tabla de resultados y los botones de descarga.

Cualquier cambio de interfaz en el portal de CENACE lo rompe sin aviso previo. Es el modo de falla más probable de este sistema, y no hay alternativa: CENACE no ofrece API para estos reportes.

Relación con otros sistemas

SistemaRelación
mem-apiLo dispara mediante bot:sync-prices, en ventana vespertina.
mem-parse-csv-pricesConsume los CSV que este bot deposita en S3.

Operación

No tiene calendario propio: se dispara desde mem-api. Ver Operación de mem-api.

Diagnóstico habitual:

SíntomaCausa probable
No llegan CSV a S3La Lambda falló, o CENACE no había publicado.
Falla sostenida durante díasCambio de interfaz en el portal de CENACE.
Descarga parcialEl reporte no estaba completo al momento de la consulta.
Mensajes acumulados en la cola de mensajes muertosFallas repetidas; revisar los logs de la Lambda.

Riesgos y gaps

  • Sin alternativa a la navegación del portal.
  • No está documentado el tratamiento de la cola de mensajes muertos ni quién la revisa.
  • Los sistemas BCA y BCS no se sincronizan de forma automática desde mem-api.
  • No hay alerta cuando el bot deja de entregar.

Próxima revisión

Al definir el alertamiento de la cadena de precios.