integração · Python · Django · Celery · PostgreSQL
Fazer 6 portais falarem a mesma língua
Cada usina reporta por um lugar: portais cloud de fabricantes, SCADA local na própria usina ou API do inversor. Escrevo os coletores que buscam esse dado, os pipelines que reconciliam o que chegou de fontes diferentes e os backfills que recuperam o histórico quando uma fonte fica fora do ar.
- Falha é o caso normal: OAuth, retry e fallback para rate limit, indisponibilidade e dado faltando. O desenho assume consistência eventual e falha parcial.
- Fuso e calendário: cada usina tem o seu, e o dia solar real não é o dia do calendário do servidor.
- Entrega: séries temporais em PostgreSQL/TimescaleDB, servidas para dashboard, alertas, exportações CSV/Excel e relatórios.
visão simplificada do fluxo de dados