Bonjour à tous,
J’ai une installation avec 3 déploiements Openshift, un pour Redis (7.0.10), un pour Postgress (13.10) et un autre pour discourse (stable 3.0.3). Tout fonctionne bien lors du déploiement, cependant, après quelques heures ou jours, les processus sidekiq (UNICORN_SIDEKIQS=3) s’arrêtent. J’ai remarqué certaines choses : sous /shared/log/rails/, aucun fichier sidekiq.log n’est généré, et je pense que c’est la raison pour laquelle sidekiq ne redémarre pas automatiquement :
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
Lorsque sidekiq s’arrête, je vois le message suivant dans les logs de l'hôte :
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>'
Ensuite, je peux voir dans le log du pod discourse le message :
(48) Reopening logs
(48) Reopening logs
(48) Reopening logs
Cependant, comme il n’y a pas de sidekiq.log sous /shared/log/rails/, il ne redémarre pas.
Mes connaissances en Rails sont quasi nulles, ce qui rend le dépannage difficile, mais je vois que sidekiq n’est pas en pause :
[1] pry(main)> Sidekiq.paused?
=> false
Et quand je le démarre manuellement, cela fonctionne :
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
Il y a quelques points qui, je pense, m’aideraient à résoudre ce problème :
- Comment faire pour qu’il crée
/shared/log/rails/sidekiq.log? - Comment permettre à sidekiq d’utiliser plus de 530 Mo de mémoire ?
Si quelqu’un a une suggestion, faites-le moi savoir et je vous remercie d’avance de prendre le temps de m’aider !
Passez une excellente journée ! ![]()