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

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

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

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 الجديد، لذا فإن المؤقتات الأخرى لم تتأثر (بناءً على ما أستطيع استنتاجه).

3 إعجابات