Ciao,
Stiamo gestendo un server Discourse multi-dominio a due container da circa 4 anni e ospitiamo circa 20 domini. Abbiamo eseguito aggiornamenti regolari con successo. Tuttavia, ci siamo resi conto all’inizio di ottobre (a partire da circa l’8-10 ottobre), probabilmente a seguito di un aggiornamento di Discourse, che le email di iscrizione non venivano inviate. Abbiamo notato che il task di sidekiq non viene eseguito e che Sidekiq continua a riavviarsi.
L’unica differenza con le normali migrazioni che eseguiamo è che questa volta ho dovuto modificare manualmente tutti i database Postgres per attivare l’ultima estensione vector; sembra che lo script di aggiornamento lo facesse solo sul database principale, discourse.
Sintomi:
- I log mostrano che Sidekiq si riavvia ogni pochi secondi
- Il riavvio è associato al seguente messaggio di errore:
/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 “vista di sidekiq” non sembra elaborare i job
- L’interfaccia utente mostra alcuni avvisi che sidekiq non funziona correttamente: “Un controllo degli aggiornamenti non è stato eseguito. Assicurati che Sidekiq sia in esecuzione.”
Ecco cosa ho provato:
- ricostruzione (nessun errore)
- svuotamento della coda di Redis (funziona, la dashboard di Sidekiq torna a zero ma i task non vengono ancora elaborati)
- controllo della versione di redis nel container dati (versione di redis: 7.0.15)
- controllo se Sidekiq è in pausa (non lo è)
- scorrimento dei log in
shared/web-only/log, ma non ho trovato nulla di pertinente, anche se suggerimenti aggiuntivi sono benvenuti! - Ho provato ad attivare i log di Sidekiq impostando
DISCOURSE_LOG_SIDEKIQ: 1inweb_only.ymlseguito da./launcher stop web_only && ./launcher destroy web_only && ./launcher start web_only, e il log mostra solo messaggi di successo come:
{"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"}
Sto esaurendo le idee su cosa potrei fare per individuare il problema. Dove posso cercare un messaggio di errore significativo?
Molte grazie!

