11 Commits

Author SHA1 Message Date
ae5be9853b Data inicial cálculada conforme calendário CCEE. Caso ainda esteja dentro do período de coleta ainda é feito as busca dos dados do mês anterior (M-1). 2025-11-19 16:10:35 -03:00
7d8aff1982 Add ICalendarioService interface and implement CalendarioService for event retrieval 2025-11-19 15:12:51 -03:00
e4c398eef0 Unificação do arquivo do registro de operações e maior detalhanmento em caso de update. 2025-11-17 12:55:56 -03:00
817d542631 Adiciona controle de taxa com TokenBucketRateLimiter e refatora ProcessarMedicoesUseCase para melhorar a concorrência e o tratamento de erros
Requisições não são realizadas de forma recursiva. O controle de páginação é realizado em ProcessarDiaAsync juntamente com o controle de erros e retry's
2025-11-14 09:38:44 -03:00
9a91cc456f Refatora ProcessarMedicoesUseCase e ajusta dependências
Refatora o uso de HttpClient, removendo controle explícito de concorrência com SemaphoreSlim e RateLimiter, e adiciona suporte a certificados SSL com o método CreateHttpClient. Simplifica assinaturas de métodos e inicialização de dependências.

Ajusta a lógica de comparação de medições para maior precisão com Math.Round. Atualiza consultas SQL em AccessRepository e PostgresRepository para melhorar legibilidade e remover filtros específicos.

Altera o intervalo de datas no Program.cs e remove configurações de proxy e validação de certificado no HttpClient. Remove código legado e comentários desnecessários, melhorando a organização geral do código.
2025-10-28 13:42:58 -03:00
0db548b273 Ajuste no RateLimiter e controle de taxa mais granular
Alterada a inicialização da variável `_windowStart` no arquivo
RateLimiter.cs para simplificar o cálculo do início da janela
de tempo, removendo o arredondamento baseado no intervalo.

No arquivo Program.cs, o limite de requisições do RateLimiter
foi reduzido de 400/minuto para 12/segundo, permitindo um
controle de taxa mais preciso e restritivo.
2025-10-24 14:45:49 -03:00
c98aec2c24 Melhorias em concorrência, logs e tratamento de erros
- Adicionado `SemaphoreSlim` para controle de requisições HTTP simultâneas.
- Implementado log detalhado de operações com `ConcurrentBag`.
- Melhorado tratamento de erros com mensagens enriquecidas.
- Refatorados métodos para suportar concorrência e paginação.
- Removido método `Interpolar` por não ser mais necessário.
- Ajustada consulta SQL em `AccessRepository` para novos filtros.
- Refatorada atualização em lote no `PostgresRepository`.
- Alterado intervalo de datas e suporte a proxy em `Program.cs`.
- Melhorias gerais de formatação, comentários e lógica de seleção.
2025-10-24 14:18:49 -03:00
325bc76757 Upload dos dados utilizando tabelas temporárias para reduzir o número de querys ao banco 2025-10-16 11:39:19 -03:00
654d363d12 Dados de medição agrupados por hora antes de escolher entre Inspeção lógica e coleta diária. Após escolha realizada são feitas as estimativas com base na média dos dados consolidados. 2025-10-15 14:11:46 -03:00
a8d87addad Melhoria do processo de erros definitivos e retry.
Melhoria do processo de estimativa de dados faltantes para atender metodologia da CCEE.

Adapatação de modelos para poder inserir dados nulos (faltantes) no banco de dados.
2025-10-15 11:09:23 -03:00
460598c6b5 Código funcional.
Separação em camadas.
Utilização de estimativa para horas faltantes (entre 9 e 11 registros).
2025-10-02 17:46:48 -03:00