Na última semana, vimos três instâncias do Sidekiq em diferentes fóruns travadas. Não havia nada de especial acontecendo, era apenas que o Sidekiq não estava processando nenhum trabalho e mostrava 5 de 5 trabalhos sendo processados.
Uma coisa interessante que todos tinham em comum era que havia um trabalho crítico BotInput entre os trabalhos. Agora, este é um trabalho bastante comum, mas ainda se destaca.
Após reiniciar o Sidekiq, tudo volta a funcionar normalmente. Enfileirar manualmente um trabalho com os mesmos parâmetros não faz com que ele trave novamente. Não há nada de especial com a postagem específica para a qual foi chamado.
Alguém tem alguma ideia de como podemos rastrear o que está acontecendo aqui?
Tenho tido problemas com o Sidekiq desde uma atualização de fórum há um mês. Qual comando você usa para reiniciar o Sidekiq? Apenas um sv restart sidekiq?
Tenho visto isso nos últimos dias. Eventualmente, todos os trabalhos param de rodar. Anteriormente, eu reiniciava, mas é seguro excluir a fila crítica? É uma fila do redis?
Estou atualizado em 3.5.0.beta1-dev.
Apenas um palpite, mas às vezes, quando estou conversando com o bot, ele para de responder, então eu atualizo a página ou desisto. Talvez esses casos deixem um trabalho pendente?
Esses trabalhos são assíncronos, então eles nem saberiam que você fez isso.
É interessante saber que você está tendo isso também em Jobs::BotInput. Estamos vendo esse problema em apenas um pequeno subconjunto de todos os nossos servidores (alguns por cento) e parece ser nas instâncias que usam o bot narrativo com bastante intensidade.
Não, você perderia todos os outros trabalhos enfileirados também.
A maneira mais fácil e segura é sv reload unicorn de dentro do contêiner.
Achado interessante, obrigado por investigar.
É difícil dizer quando um problema intermitente como esse desaparece. Removi essa linha nas três instâncias que travaram com mais frequência (uma delas quase diariamente). Voltarei aqui:
quando uma dessas instâncias travar (então saberemos que isso não resolveu)
na sexta-feira se nenhuma delas travar (então poderemos começar a supor que foi a solução)
Embora os problemas tenham ocorrido esta semana, eles não aconteceram nas três instâncias onde removemos essa linha require, então acho que podemos assumir com segurança que este é o culpado . Obrigado por identificar isso @tgxworld, eu nunca teria encontrado isso.
Você seria capaz de fazer o backport dessa correção para a versão estável?