Ao usar Net::HTTP
como adaptador, os usuários ficam surpresos com a estratégia de nova tentativa fornecida por Net::HTTP
. Isso traz diferentes "problemas" (por exemplo, # 612 e # 771).
Não há muito que possamos fazer pelo Ruby <= 2.4, entretanto o Ruby 2.5 fornece uma nova configuração max_retries
para Net::HTTP
então Faraday deve configurá-la automaticamente quando disponível.
Veja os problemas # 612 e # 771.
Tenho examinado esse problema. Uma abordagem mencionada em # 771 é definir o padrão como 0, mas alterá-lo dependendo da quantidade de novas tentativas configuradas. Teríamos que tornar o middleware Retry ciente do adaptador subjacente (já que alguns adaptadores podem não suportar isso) e aplicar condicionalmente essa lógica no env
. O adaptador também deve saber sobre a quantidade de novas tentativas.
Como alternativa a essa abordagem, podemos configurá-la para não fazer novas tentativas, em vez disso, manter a lógica de nova tentativa confinada ao middleware Retry. Seja qual for o resultado, ficaria mais do que feliz em adquirir este @iMacTia .
Definitivamente, estava pensando na segunda opção.
Já temos o middleware Retry que pode cuidar da repetição de solicitações com falha.
Os adaptadores (neste caso, Net :: HTTP) nunca devem repetir as solicitações por conta própria.
Tudo o que precisamos fazer neste caso é dizer ao adaptador Net :: HTTP para definir max_retries
como 0, se esta propriedade estiver disponível, é claro
@iMacTia - Não poderia estar mais de acordo. Nesse caso, vou pegar isso.