Skip to content

cfetx-microservice

Qué es

El microservicio que consulta mediciones de demanda cada 5 minutos desde un SQL Server externo, las agrupa por medidor y las publica en una cola para que sy-energy las consuma.

Es la vía por la que entra la demanda de alta tensión al ecosistema.

Tipo de sistema

CampoValor
TipoMicroservicio CLI
LenguajePHP 8.5, sin framework de aplicación
Base de datosSQL Server externo, mediante pdo_sqlsrv
IntegracionesAWS SQS · AWS S3 · Slack
EjecuciónServidor, por comando
DespliegueDeployer

Estado documental

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

Qué hace

text
SQL Server externo  ──►  consulta mediciones de 5 minutos

                              ├─ filtra por rango de fechas
                              ├─ filtra por medidor, si se indica
                              ├─ agrupa por medidor
                              └─ publica en SQS  ──►  sy-energy

También puede exportar la información a CSV o JSON, y trae un comando de diagnóstico que reporta conteos, rangos y los primeros y últimos registros que devuelve la consulta.

La restricción que define todo

Acceso autorizado por IP

La base de datos externa pertenece a un tercero y está protegida por autorización de dirección IP.

Las consultas solo funcionan desde servidores previamente autorizados. No se pueden reproducir desde un entorno local cualquiera, ni desde un servidor nuevo, hasta que el proveedor externo autorice la IP.

Implicaciones prácticas:

  • No se puede depurar localmente contra datos reales.
  • Migrar o reemplazar el servidor exige gestionar la autorización antes del cambio.
  • Un fallo de conexión sostenido puede no ser un problema técnico propio, sino un cambio de IP o una autorización revocada.

Configuración

GrupoPara qué
Conexión a SQL ServerHost, puerto, base, usuario y contraseña del proveedor externo.
Credenciales de AWSPublicación en SQS y almacenamiento en S3.
URL de colaDestino de las mediciones.
Token de SlackNotificaciones, si se requieren.

Los valores reales no se documentan aquí.

Requisitos de ejecución

  • PHP con la extensión de SQL Server (pdo_sqlsrv) instalada. Es el requisito que más suele faltar al preparar un entorno.
  • Credenciales de AWS.
  • IP autorizada por el proveedor externo.

Relación con otros sistemas

SistemaRelación
SQL Server del proveedor externoOrigen de las mediciones.
sy-energyConsume las mediciones con un worker dedicado por participante.

Ver el módulo de Demanda de sy-energy.

Operación

No tiene scheduler propio: se ejecuta por comando.

Calendario sin confirmar

No está documentado con qué frecuencia se ejecuta ni quién lo hace. Dado que alimenta demanda que después se factura, es un gap con impacto directo en el cierre mensual.

Comandos disponibles:

ComandoPara qué
Comando principalConsulta las mediciones del rango y las publica en SQS. Acepta filtro por medidor y exportación a CSV o JSON.
Comando de diagnósticoReporta conteos, rangos y primeros/últimos registros de la consulta. No publica nada.

El comando de diagnóstico es la forma segura de verificar que la conexión funciona y que hay datos en el periodo, antes de publicar.

Si falla

SíntomaCausa probableAcción
Conexión rechazadaIP no autorizada, o autorización revocada.Escalar al proveedor externo.
Error de controladorFalta pdo_sqlsrv en el servidor.Instalar la extensión.
La consulta no devuelve datosEl periodo no tiene mediciones, o el filtro de medidor es incorrecto.Verificar con el comando de diagnóstico.
Se publicó pero sy-energy no lo reflejaEl worker de CFE TX está caído.Revisar Supervisor.

Riesgos y gaps

  • Frecuencia de ejecución sin documentar. Es el gap más importante.
  • Dependencia de una autorización de IP gestionada por un tercero.
  • No hay alerta cuando dejan de llegar mediciones.
  • No está documentado el catálogo de medidores ni su relación con centros de carga.

Próxima revisión

Al confirmar la frecuencia de ejecución con operación.