Olá a todos,
Tenho uma instalação com 3 implantações Openshift, uma para Redis (7.0.10), uma para Postgress (13.10) e outra para discourse (stable 3.0.3), tudo funciona bem quando implantado, no entanto, após algumas horas ou dias, os processos sidekiq (UNICORN_SIDEKIQS=3) param. Há algumas coisas que notei, em /shared/log/rails, nenhum sidekiq.log está sendo gerado, e acredito que isso me leva ao motivo pelo qual o sidekiq não reinicia automaticamente:
root@discourse-b9f766dcf-52zjq:/var/www/discourse# ls -laF /shared/log/rails/
total 32
drwxr-xr-x. 2 nobody www-data 4096 Jun 9 08:57 ./
drwxr-xr-x. 3 root root 4096 May 30 06:16 ../
-rw-r--r--. 1 nobody www-data 16082 Jun 9 09:28 production.log
-rw-r--r--. 1 nobody www-data 1345 Jun 9 09:02 unicorn.stderr.log
-rw-r--r--. 1 nobody www-data 204 Jun 9 09:02 unicorn.stdout.log
Quando o sidekiq para, vejo a seguinte mensagem em host/logs:
Info:
Sidekiq is consuming too much memory (using: 530.35M) for 'discourse.internal.odencluster.com', restarting
backtrace:
config/unicorn.conf.rb:163:in `check_sidekiq_heartbeat'
config/unicorn.conf.rb:243:in `master_sleep'
unicorn-6.1.0/lib/unicorn/http_server.rb:295:in `join'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
Então, posso ver no log do pod do discourse a mensagem:
(48) Reopening logs
(48) Reopening logs
(48) Reopening logs
No entanto, como não há sidekiq.log em /shared/log/rails/, ele não reinicia.
Meu conhecimento de Rails é quase zero, portanto, acho difícil solucionar o problema, mas vejo que o sidekiq não está pausado:
[1] pry(main)> Sidekiq.paused?
=> false
E quando eu o inicio manualmente, ele funciona:
2023-06-09T09:47:15.556Z pid=195386 tid=449q INFO: Booting Sidekiq 6.5.8 with Sidekiq::RedisConnection::RedisAdapter options {:host=>"redis", :port=>6379, :namespace=>"sidekiq"}
2023-06-09T09:47:20.528Z pid=195386 tid=449q INFO: Booted Rails 7.0.4.3 application in production environment
2023-06-09T09:47:20.528Z pid=195386 tid=449q INFO: Running in ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
2023-06-09T09:47:20.528Z pid=195386 tid=449q INFO: See LICENSE and the LGPL-3.0 for licensing details.
2023-06-09T09:47:20.528Z pid=195386 tid=449q INFO: Upgrade to Sidekiq Pro for more features and support: https://sidekiq.org
Há algumas coisas que imagino que me ajudariam a resolver este problema:
- Como faço para que ele crie
/shared/log/rails/sidekiq.log? - Como faço para permitir que o sidekiq use mais de 530M de memória?
Se alguém tiver uma sugestão, por favor me avise e agradeço antecipadamente por dedicar seu tempo para me apoiar nisso!
Tenha um ótimo dia! ![]()