خطأ Sidekiq لوظيفة Jobs::DeleteReplies Job

مرحبًا،
أواجه عددًا كبيرًا من الوظائف الفاشلة في مهمة Jobs::DeleteReplies. لا أعتقد أن هذا قد يكون له أي علاقة بإضافاتي. ربما يكون هناك عدم توافق بين الترقيات؟

Jobs::HandledExceptionWrapper: Wrapped NoMethodError: undefined method minutes’ for nil:NilClass`

تتجمع مهام متطابقة متعددة في علامة التبويب “المحاولات” في Sidekiq..

image

شكرًا على أي نصيحة..

تحديث: لقد وجدت معرف الموضوع المرتبط وحذفت مؤقت هذا الموضوع تحديدًا، آمل أن يساعد ذلك..
أترك هذا هنا ربما يكون نتيجة لخطأ برمجي..

هذه مشكلة ناتجة عن تغيير قمنا به مؤخرًا جدًا، ومن المتوقع أن يتم إصلاحها بحلول الأسبوع القادم.

شكرًا للتأكيد. هل أتوقع المزيد من المشاكل مع topic_timers الأخرى؟ أي نوع من المؤقتات يتأثر؟ هل هو فقط “حذف المنشور بعد x”؟ لقد تراكمت كمية كبيرة في الطابور (آلاف في بضع ساعات).. (لحسن الحظ لدي Prometheus… :slight_smile: )

الإصلاح متاح هنا:

لم يعمل هذا الانتقال كما هو متوقع:

DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60 * 24) WHERE duration_minutes != duration AND status_type = 7 AND duration IS NOT NULL")
DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60) WHERE duration_minutes != duration AND status_type != 7 AND duration IS NOT NULL")

لا تعمل عبارة WHERE duration_minutes != duration إذا كانت قيمة duration_minutes تساوي NULL، وهو ما كان ينطبق على جميع السجلات في ذلك الوقت. في الواقع، كانت جميعها NULL.

نعم، فقط مهمة Jobs::DeleteReplies تشير مباشرة إلى حقل duration_minutes الجديد، لذا فإن المؤقتات الأخرى لم تتأثر (بناءً على ما أستطيع استنتاجه).