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
| Campo | Valor |
|---|---|
| Tipo | Bot AWS Lambda |
| Lenguaje | Python |
| Automatización | Selenium con Chrome headless |
| Empaquetado | Imagen Docker |
| Disparo | Mensaje SQS |
| Despliegue | AWS 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
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 S3Si 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
| Campo | Valores | Para qué |
|---|---|---|
market | mda, mtr | Define a qué portal de CENACE entrar. |
report | marginals, nodes, services | Tipo de reporte a descargar. |
system | SIN, BCS, BCA | Sistema eléctrico. |
start_date / end_date | dd/mm/YYYY | Rango de fechas. |
period | — | Puede 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
| Sistema | Relación |
|---|---|
mem-api | Lo dispara mediante bot:sync-prices, en ventana vespertina. |
mem-parse-csv-prices | Consume 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íntoma | Causa probable |
|---|---|
| No llegan CSV a S3 | La Lambda falló, o CENACE no había publicado. |
| Falla sostenida durante días | Cambio de interfaz en el portal de CENACE. |
| Descarga parcial | El reporte no estaba completo al momento de la consulta. |
| Mensajes acumulados en la cola de mensajes muertos | Fallas 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.