Bonjour,
Nous exécutons un serveur Discourse multi-domaines à deux conteneurs depuis environ 4 ans et hébergeons environ 20 domaines. Nous avons effectué des mises à jour régulières avec succès. Cependant, nous avons constaté début octobre (vers le 8-10 octobre), probablement suite à une mise à jour de Discourse, que les e-mails d’inscription n’étaient pas envoyés. Nous avons remarqué que la tâche sidekiq ne s’exécute pas et que Sidekiq redémarre continuellement.
La seule différence avec les migrations régulières que nous effectuons est que cette fois, j’ai dû modifier manuellement toutes les bases de données Postgres pour activer la dernière extension vector ; il semble que le script de mise à niveau ne le ferait que sur la base de données principale, discourse.
Symptômes :
- Les journaux indiquent que Sidekiq redémarre toutes les quelques secondes.
- Le redémarrage est associé au message d’erreur suivant :
/var/www/discourse/lib/demon/sidekiq.rb:31:in `heartbeat_check'
config/unicorn.conf.rb:131:in `block (2 levels) in reload'
E, [2025-11-01T11:56:05.989645 #67] ERROR -- : reaped #<Process::Status: pid 6534 SIGKILL (signal 9)> worker=unknown
I, [2025-11-01T11:56:41.468169 #7038] INFO -- : Loading Sidekiq in process id 7038
W, [2025-11-01T11:57:20.944092 #67] WARN -- : Process would not terminate cleanly, force quitting. pid: 7038 Demon::Sidekiq
/var/www/discourse/lib/demon/base.rb:94:in `restart'
/var/www/discourse/lib/demon/sidekiq.rb:40:in `block in heartbeat_check'
/var/www/discourse/lib/demon/sidekiq.rb:31:in `each'
/var/www/discourse/lib/demon/sidekiq.rb:31:in `heartbeat_check'
- La « vue sidekiq » ne semble pas traiter les tâches.
- L’interface utilisateur affiche des avertissements indiquant que sidekiq ne fonctionne pas correctement : « Une vérification des mises à jour n’a pas été effectuée. Assurez-vous que Sidekiq est en cours d’exécution. »
Voici ce que j’ai essayé :
- Reconstruction (aucune erreur)
- Vidage de la file d’attente Redis (fonctionne, le tableau de bord Sidekiq revient à zéro mais les tâches ne sont toujours pas traitées)
- Vérification de la version de redis dans le conteneur de données (version de redis : 7.0.15)
- Vérification si Sidekiq est en pause (il ne l’est pas)
- Parcouru les journaux dans
shared/web-only/log, mais je n’ai rien trouvé de pertinent, bien que des pistes supplémentaires soient les bienvenues ! - J’ai essayé d’activer les journaux Sidekiq en définissant
DISCOURSE_LOG_SIDEKIQ: 1dansweb_only.ymlsuivi de./launcher stop web_only && ./launcher destroy web_only && ./launcher start web_only, et le journal n’affiche que des messages de succès tels que :
{"hostname":"forum-web-only","pid":12961,"database":"chatonnade","job_id":null,"job_name":"Jobs::DiscourseAutomation::StalledWikiTracker","job_type":"scheduled","opts":"{}","status":"success","live_slots_start":1298445,"duration":0.04405494895763695,"sql_duration":0.03392060892656446,"sql_calls":1,"redis_duration":0,"redis_calls":0,"net_duration":0,"net_calls":0,"live_slots_finish":1299663,"live_slots":1218,"@timestamp":"2025-11-01T12:17:32.561+00:00"}
Je manque d’idées sur ce que je pourrais faire pour identifier le problème. Où puis-je chercher un message d’erreur significatif ?
Merci beaucoup !

