فشل اختبار نبض Sidekiq، جاري إعادة التشغيل

نفس المشكلة هنا مع آخر تحديث، لا توجد تغييرات سوى التحديث عبر إعادة البناء، لوحة الإدارة تقول إن Sidekiq لا يعمل. لدي PostgreSQL و Redis في حاوية واحدة والتطبيق في حاوية أخرى، وقمت بإعادة تشغيلهم جميعًا مرة أخرى. الطوابير تحتوي على بضع مئات من العناصر، لكن لا شيء يتم معالجته.

تحرير 1: مسح جميع الطوابير لم يحل المشكلة أو يساعد في شيء، إنها تمتلئ مرة أخرى ولا تزال لا تتم معالجتها.

تحرير 2: وأعدت بناء المنتدى مع كل وقت التوقف الذي يتطلبه ذلك، وما زلت أرى هذه الرسالة:

وطوابير Sidekiq لا تعمل في /sidekiq. كان كل هذا يعمل دون أي مشكلة قبل التحديث إلى الإصدار 2.4.0.beta9 من beta7.

تحرير 3: أكثر من 50 جيجابايت من المساحة الحرة. يعمل النسخ الاحتياطي اليدوي (أقل بقليل من 300 ميجابايت) بنجاح، ويذكر أنه يوقف Sidekiq ثم يعيد تشغيله دون الإبلاغ عن أي خطأ في السجل، لكن يبدو أن Sidekiq لا يزال لا يعمل؟

تحرير 4: السجل الوحيد الملحوظ في /logs هو “فشل اختبار نبض Sidekiq، جاري إعادة التشغيل” الذي يتكرر باستمرار.

تحرير 5: يبدو أن Redis يعمل بشكل جيد، على الأقل ملف السجل الخاص به مشغول بالقول إنه لا يوجد لديه الكثير للقيام به… وللتوضيح:

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

تحرير 6: قمت بمسح الطوابير منذ فترة، عدت إلى 10 مهام معلقة في الطابور ولكن لا تتم معالجتها.

تحرير 7: اكتشفت أن الأمر bundle exec sidekiq هو الطريقة المعتادة لبدء Sidekiq في مشروع عادي، لذا دعنا نجرب تشغيله لنرى ماذا يحدث:

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/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)>'
/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

حسنًا، هذا يبدو مثيرًا للاهتمام؟ دعنا نجرب إعادة بناء حاوية البيانات والصلاة من رعب لمس البيانات، ههه…

تحرير 8: حسنًا، يبدو أنه يعمل بـ Redis 5.0.5 (لماذا لا يُستخدم PostgreSQL pubsub لهذا الغرض؟)، وهو بالتأكيد 4.0.0 أو أحدث… وقد انتهى إعادة البناء، جربنا المنتدى، تبدو بياناته لا تزال موجودة، ولدينا ارتفاع!


يبدو أنه تم الإصلاح! ربما يكون هذا المنشور مفيدًا لشخص ما. أتمنى أن يكون المنتدى قد أعطاني خطأ Sidekiq حول إصدار Redis قديم، لكنني أظن أن هذه السجلات تذهب إلى الهاوية في مكان ما لأنني لم أرَها في أي مكان. ^.^