Correios-Brasil
Correios-Brasil copied to clipboard
Erro de autenticação após cerca de 24 horas de execução contínua
Olá, observei que, após cerca de 24 horas contínuas de execução do script, ele começa a falhar com a mensagem de erro "Falha ao autenticar requisição". Para que o script volte a funcionar, preciso reiniciá-lo.
Mesmo problema aqui!
Acredito que por algum motivo, o token não está se renovando quando expira, então somente quando inicio novamente o script ele obtém um novo token e funciona normalmente.
@juniorkrz Vendo por cima, será que esse REQUEST_SIGN tem que ser reatribuido depois de um dia, seria isso?
@juniorkrz Vendo por cima, será que esse REQUEST_SIGN tem que ser reatribuido depois de um dia, seria isso?
Sim. Do jeito que ta feito ele esta numa constante. Só tem o valor atribuído uma vez e por isso só funciona quando reinicia a aplicação. Precisa atualizar o valor do REQUEST_SIGN quando for pedir um novo token. Vou deixar pra quem manja mais dos patterns pra arrumar. Mas eu editaria o tokenPromise, quando vai criar a promise, antes do request, atualiza o valor do REQUEST_SIGN.
Estou com o mesmo problema do @juniorkrz. No meu caso to rodando uma cloud function que retorna alguns dados do correio
Atualizar o pacote funcionou pra mim! :)
@juniorkrz O token expira em 24 horas. É normal e esperado.
Como você está usando isso? Você fez um loop infinito que faz as requisições sem parar?
Não sei se para mais alguém esta retornando "Too Many Requests" ou será que é minha requisição que tem mtos itens?
Não sei se para mais alguém esta retornando "Too Many Requests" ou será que é minha requisição que tem mtos itens?
to recebendo tambem, parece que implementaram algum rate limit.
Se vocês tiverem fazendo loop infinito de requisições sem um delay, vai acabar com nessa mesmo do rate limit. Eu criei uma forma de contornar o problema, mas pelo que parece tem gente fazendo Request em loop sem delay. Aí vai dar nisso O sintoma vocês mesmo já tiveram. Quando o sistema retorna muitos 429, o sistema invalida a token. O ideal é usar essas consultas asyncronas com um delay tanto entre as tasks com os blocos...
Se vocês tiverem fazendo loop infinito de requisições sem um delay, vai acabar com nessa mesmo do rate limit. Eu criei uma forma de contornar o problema, mas pelo que parece tem gente fazendo Request em loop sem delay. Aí vai dar nisso O sintoma vocês mesmo já tiveram. Quando o sistema retorna muitos 429, o sistema invalida a token. O ideal é usar essas consultas asyncronas com um delay tanto entre as tasks com os blocos...
Loop infinito n neh amigo, senão nem retorno teríamos, ei tô fazendo uma única requisição com mtos itens.... pode ser isso....
@juniorkrz O token expira em 24 horas. É normal e esperado.
Como você está usando isso? Você fez um loop infinito que faz as requisições sem parar?
Era pra eu ter citado aqui Acabou que não foi.... Porque o @juniorkrz deu a entender que tava rodando token e Request em loop...
Sobre as requisições simultâneas, se você inserir um delay de 0.1s entre elas já deve ser suficiente para resolver isso
Só complementando Essa noite eu rodei alguns testes e percebi que o problema sao dois ou mais eventos atingindo SIMULTANEAMENTE as requisições dos correios
@juniorkrz O token expira em 24 horas. É normal e esperado.
Como você está usando isso? Você fez um loop infinito que faz as requisições sem parar?
@GabrielRF Eu criei um servidor express para tratar as consultas por meio de POST. Minha aplicação faz consultas ao servidor express quando necessário, e tudo funciona normalmente. No entanto, o problema ocorre quando o servidor fica ligado por mais de 24 horas. Ao reiniciá-lo, tudo volta a funcionar normalmente. Segue o código: