Hallo zusammen,
ich habe eine Installation mit 3 Openshift-Deployments, eines für Redis (7.0.10), eines für Postgress (13.10) und ein weiteres für Discourse (stable 3.0.3). Alles funktioniert einwandfrei, sobald es bereitgestellt ist. Nach ein paar Stunden oder Tagen stoppen jedoch die Sidekiq-Prozesse (UNICORN_SIDEKIQS=3). Mir sind einige Dinge aufgefallen: Unter /shared/log/rails wird keine sidekiq.log-Datei generiert, und ich glaube, das ist der Grund, warum Sidekiq nicht automatisch neu startet:
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
Wenn sidekiq stoppt, sehe ich folgende Meldung in den 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>'
Dann sehe ich in den Discourse-Pod-Logs die Meldung:
(48) Reopening logs
(48) Reopening logs
(48) Reopening logs
Da jedoch keine sidekiq.log-Datei unter /shared/log/rails/ vorhanden ist, startet sie nicht neu.
Meine Kenntnisse in Rails sind fast null, daher fällt es mir schwer, das Problem zu beheben, aber ich sehe, dass Sidekiq nicht pausiert ist:
[1] pry(main)> Sidekiq.paused?
=> false
Und wenn ich es manuell starte, funktioniert es:
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
Es gibt ein paar Dinge, die mir helfen würden, dieses Problem zu lösen:
- Wie kann ich erreichen, dass
/shared/log/rails/sidekiq.logerstellt wird? - Wie kann ich Sidekiq erlauben, mehr als 530 MB Speicher zu verwenden?
Wenn jemand einen Vorschlag hat, lassen Sie es mich bitte wissen, und ich danke Ihnen im Voraus für Ihre Zeit und Unterstützung!
Ich wünsche Ihnen einen schönen Tag! ![]()