Hola,
Hemos estado ejecutando un servidor Discourse multdominio de dos contenedores durante aproximadamente 4 años y alojamos alrededor de 20 dominios. Realizamos actualizaciones periódicas con éxito. Sin embargo, nos dimos cuenta a principios de octubre (alrededor del 8 al 10 de octubre), probablemente después de una actualización de Discourse, que los correos electrónicos de registro no se enviaban. Notamos que la tarea de Sidekiq no se ejecuta y que Sidekiq se reinicia continuamente.
La única diferencia con las migraciones habituales que realizamos es que esta vez tuve que modificar manualmente todas las bases de datos de Postgres para activar la última extensión vector; parece que el script de actualización solo lo haría en la base de datos principal, discourse.
Síntomas:
- Los registros muestran que Sidekiq se reinicia cada pocos segundos.
- El reinicio se asocia con el siguiente mensaje de error:
/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 de sidekiq” no parece procesar trabajos.
- La interfaz de usuario muestra algunas advertencias de que sidekiq no está funcionando correctamente:
No se ha realizado una comprobación de actualizaciones. Asegúrese de que Sidekiq se esté ejecutando.
Esto es lo que intenté:
- Reconstruir (sin errores)
- Vaciar la cola de Redis (funciona, el panel de Sidekiq vuelve a cero pero las tareas aún no se procesan)
- Comprobé la versión de redis en el contenedor de datos (versión de redis: 7.0.15)
- Comprobé si Sidekiq está en pausa (no lo está)
- Revisé los registros en
shared/web-only/log, pero no pude encontrar nada relevante, ¡aunque se agradecen indicaciones adicionales! - Intenté activar los registros de Sidekiq estableciendo
DISCOURSE_LOG_SIDEKIQ: 1enweb_only.ymlseguido de./launcher stop web_only && ./launcher destroy web_only && ./launcher start web_only, y el registro solo muestra mensajes de éxito como:
{"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"}
Me estoy quedando sin ideas sobre qué más podría hacer para identificar el problema. ¿Dónde puedo buscar un mensaje de error significativo?
¡Muchas gracias!

