Correios-Brasil icon indicating copy to clipboard operation
Correios-Brasil copied to clipboard

Erro de autenticação após cerca de 24 horas de execução contínua

Open juniorkrz opened this issue 1 year ago • 13 comments

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.

juniorkrz avatar Jul 17 '23 15:07 juniorkrz

Mesmo problema aqui!

medeirospradoleonardo avatar Jul 18 '23 12:07 medeirospradoleonardo

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 avatar Jul 18 '23 14:07 juniorkrz

@juniorkrz Vendo por cima, será que esse REQUEST_SIGN tem que ser reatribuido depois de um dia, seria isso?

medeirospradoleonardo avatar Jul 18 '23 16:07 medeirospradoleonardo

@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.

leandrobattochio avatar Jul 19 '23 03:07 leandrobattochio

Estou com o mesmo problema do @juniorkrz. No meu caso to rodando uma cloud function que retorna alguns dados do correio

pedroagcf avatar Jul 26 '23 01:07 pedroagcf

Atualizar o pacote funcionou pra mim! :)

pedroagcf avatar Jul 26 '23 17:07 pedroagcf

@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 avatar Aug 02 '23 14:08 GabrielRF

Não sei se para mais alguém esta retornando "Too Many Requests" ou será que é minha requisição que tem mtos itens?

ferezini avatar Aug 04 '23 22:08 ferezini

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.

andersonmendess avatar Aug 04 '23 22:08 andersonmendess

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...

ils15 avatar Aug 04 '23 22:08 ils15

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....

ferezini avatar Aug 04 '23 23:08 ferezini

@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

ils15 avatar Aug 04 '23 23:08 ils15

@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: code

juniorkrz avatar Aug 06 '23 22:08 juniorkrz