33 Commits

Author SHA1 Message Date
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
8826ba3a31 Removido o projeto App_old da solução
O projeto `App_old` foi completamente removido, incluindo:
- Exclusão do arquivo `App_old.csproj` com suas configurações.
- Remoção da entrada do projeto no arquivo `PI_Assync_SCDE.sln`.
- Exclusão do código relacionado à classe `Plat_integ` no `Program.cs`.

Essas mudanças fazem parte de uma reestruturação da solução, descontinuando o uso do `App_old`.
2025-10-28 14:30:25 -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
1e814e9c34 Infra: Separação de classes e responsabilidades. 2025-09-30 15:46:09 -03:00
771de2de33 Separação de classes e responsabilidades. 2025-09-30 15:39:46 -03:00
243d1551d1 Log de informações atualizadas e inseridas. 2025-09-30 14:25:11 -03:00
d512a8afc4 SoapFaultException 2025-09-30 13:24:25 -03:00
04bf10f65c soapfaultexception para registrar erros retornados pela api da CCEE 2025-09-30 13:24:09 -03:00
b340b9ef46 Lógica para atualizar ou inserir somente registros pendentes. 2025-09-30 13:23:37 -03:00
441a70edaf utilização de ratelimiter, classe perfil, acumulador, etc. 2025-09-30 13:22:37 -03:00
ddcc46c3d0 condições de parada e retry, utilizar classe perfil. 2025-09-30 13:22:07 -03:00
a170168f21 Condições de parada e retry. 2025-09-30 13:21:20 -03:00
e6ce1ba938 Correção para utilizar a classe perfil 2025-09-30 13:20:45 -03:00
e76e3c9a9f Verificar data de migração antes de realizar a solicitação. 2025-09-30 13:20:04 -03:00
e49aa18ced Limpeza de bibliotecas. 2025-09-30 13:19:35 -03:00
9b13701441 Paralelismo realizado por ponto de medição em vez de dias a serem processados. 2025-09-30 13:17:50 -03:00
920904fe11 Inclusão de rateLimiter para controlar o número de requisições por minuto. 2025-09-30 13:16:04 -03:00
7758c13742 Utilizando using para acessar o bando de dados access.
Nova querys para debug.
2025-09-30 13:12:16 -03:00
671e065ebc criado a classe "perfil" para modelar os dados dos pontos de medição. 2025-09-30 13:11:19 -03:00
26bd4d1da9 Limitando o tamanho do pool de conexões e connection lifetime (requisito AWS).
Proxy fiddler.
2025-09-30 13:08:30 -03:00
ec61534f17 Alteração de estrtura de código para trabalhar de forma paralela. 2025-09-18 13:52:35 -03:00
5f137b8fae Atualização de bibliotecas 2025-09-18 13:50:48 -03:00
bab1031833 Remoção de trechos de código para utilizar base de dados de desenvolvimento. 2025-09-17 15:10:13 -03:00
63ee35b527 Remoção da opção de utilizar argumentos para execução do código e trechos de códigos não utilizados. 2025-09-17 15:01:01 -03:00
59b8f4bbb9 Remoção de trechos de códigos não utilizados.
Função reeoganizadas conforme utilização.
2025-09-17 14:46:07 -03:00
6a42037c71 Import inicial: migração de arquivos da rede 2025-07-15 13:47:35 -03:00