condições de parada e retry, utilizar classe perfil.

This commit is contained in:
Adriano Serighelli 2025-09-30 13:22:07 -03:00
parent a170168f21
commit ddcc46c3d0

View File

@ -178,23 +178,22 @@ internal class Plat_integ
} }
} }
string resposta = await response.Content.ReadAsStringAsync(ct); await ProcessarXMLAsync(resposta, dataSource, dia, perfil._Cod_5min, perfil._Codigo_SCDE, existentes, limiter, ct, 1);
await ProcessarXMLAsync(resposta, await dataSource.OpenConnectionAsync());
sucesso = true; sucesso = true;
} }
catch (Exception ex) catch (Exception ex)
{ {
tentativas++; tentativas++;
if (tentativas == 5) if (tentativas >= 5)
{ {
errosPersistentes.Add($"{item.Item1};{item.Item2};Erro;{ex.Message.Replace("\n", "-n-")}"); errosPersistentes.Add($"{perfil._Cod_5min};{perfil._Codigo_SCDE};Erro;{ex.Message.Replace("\n", "-n-")}");
} }
else else
{ {
int backoff = (int)Math.Pow(2.4, tentativas) * 1000; // exponencial int backoff = (int)Math.Pow(2.4, tentativas) * 1000; // exponencial
Console.WriteLine($"Erro na requisição ({ex.Message}), tentativa {tentativas}. Aguardando {backoff / 1000}s..."); Console.WriteLine($"Erro na requisição ({ex.Message}), tentativa {tentativas}. Aguardando {backoff / 1000}s...");
await Task.Delay(backoff, ct); await Task.Delay(backoff);
} }
} }
} }