Échec du test de battement de cœur Sidekiq, redémarrage en cours

Même problème ici avec la dernière mise à jour, aucun changement autre que la simple mise à jour via une reconstruction. Le tableau de bord d’administration indique que Sidekiq n’est pas en cours d’exécution. J’ai PostgreSQL et Redis dans un conteneur et l’application dans un autre ; je les ai tous redémarrés également. Les files d’attente en comptent plusieurs centaines, mais rien n’est traité.

EDIT1 : Vider toutes les files d’attente n’a rien résolu ni aidé ; elles se remplissent à nouveau et rien n’est toujours traité.

EDIT2 : J’ai reconstruit le forum avec tout l’arrêt que cela implique, et j’ai toujours ce message :

Et les files d’attente ne sont toujours pas traitées dans /sidekiq. Tout cela fonctionnait sans problème avant la mise à jour vers 2.4.0.beta9 depuis beta7.

EDIT3 : Plus de 50 Go d’espace libre. L’exécution manuelle d’une sauvegarde (un peu moins de 300 Mo) réussit, et il est indiqué que Sidekiq est mis en pause puis repris, sans erreur signalée dans le journal, mais Sidekiq semble toujours ne pas être en cours d’exécution ?

EDIT4 : Le seul journal notable dans /logs est le message « Sidekiq heartbeat test failed, restarting » qui se répète sans cesse.

EDIT5 : Redis semble être actif et fonctionner correctement, du moins son fichier journal est occupé à dire qu’il n’a pas grand-chose à faire… Et pour plus de clarté :

[3] pry(main)> Sidekiq.paused?
=> false

EDIT6 : J’ai vidé les files d’attente il y a un moment, elles sont remontées à 10 tâches en attente mais non traitées.

EDIT7 : J’ai découvert que bundle exec sidekiq est la méthode habituelle pour démarrer Sidekiq dans un projet normal, alors essayons de l’exécuter pour voir ce qu’il se passe :

root@vps198273-forum:/var/www/discourse# bundle exec sidekiq
2020-01-06T05:10:18.814Z pid=31242 tid=gn383wxbu INFO: Booting Sidekiq 6.0.4 with redis options {:host=>"forum-data", :port=>6379, :namespace=>"sidekiq", :id=>"Sidekiq-server-PID-31242", :url=>nil}
You are connecting to Redis v3.0.6, Sidekiq requires Redis v4.0.0 or greater
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/lib/sidekiq/cli.rb:62:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/bin/sidekiq:12:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/sidekiq-6.0.4/bin/sidekiq:23:in `load'
/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/sidekiq:23:in `<top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:476:in `exec'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:24:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/exe/bundle:46:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/exe/bundle:34:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'

You are connecting to Redis v3.0.6, Sidekiq requires Redis v4.0.0 or greater

Eh bien, cela semble intéressant ? Essayons de reconstruire le conteneur de données en priant pour ne pas toucher aux données, lol…

EDIT8 : Eh bien, il semble que Redis 5.0.5 soit en cours d’exécution (pourquoi n’utilise-t-on pas la publication/abonnement de PostgreSQL pour cela ?), ce qui est bien sûr 4.0.0 ou plus récent… et la reconstruction est terminée. Je teste le forum, les données semblent toujours être là, et nous avons un pic !


Ça semble réparé ! Peut-être que ce post sera utile à quelqu’un. J’aurais aimé que le forum m’affiche l’erreur que Sidekiq donnait concernant une version obsolète de Redis, mais je suppose que ces journaux sont simplement envoyés dans l’abîme quelque part, car je ne les ai vus nulle part. ^.^