في وظيفتي اليومية، أعمل في تطبيق Django مع Celery للانتظار في الطابور والذي يستخدم Redis كواجهة خلفية. كل عملية نشر، تختفي الوظائف وتتبخر. ونحن بحاجة إلى إدخال التحديث/النشر بين الوظائف طويلة الأمد للعميل.
أقوم باستبدال كل ذلك بطابور يعتمد على قاعدة البيانات باستخدام آلة حالة رسمية، واستخدام celery فقط لمرحلة “تشغيل المهمة الآن”. يمنحني حالة دائمة، والقدرة على تشغيل الوظائف مباشرة أي لا تستخدم celery كطابور، والحالة ليست عابرة في Redis.
شكراً كاميرون، سأركز على هذه المشكلة، بما أننا قمنا بتمكين التسجيل مرة أخرى الآن. حتى الآن لا يوجد شيء واضح، لا توجد أخطاء أو مهام خلفية فاشلة يمكنني رؤيتها، ومن منطق الكود لا أرى شيئًا من شأنه أن يتخطى هذه رسائل البريد الإلكتروني عمدًا. بالنسبة لهذا الموضوع، لم يتم إرسال بريد إلكتروني إلى أي شخص لـ OP وهو أمر مثير للاهتمام، يبدو الأمر وكأن المهمة لم يتم إدراجها في قائمة الانتظار من الأساس. سأستمر في البحث وسأعلمك.
@cameron-simpson لقد بحثنا في هذا الأمر بشكل أعمق، والمشكلة هنا تتعلق بالفعل بنظام قائمة انتظار المراجعة لدينا. على سبيل المثال، مع https://discuss.python.org/t/mental-block-simple-question/22411، تم اكتشافه كـ “بريد عشوائي” بواسطة Akismet، مما جعله يتطلب موافقة المسؤول. عندما يوافق المسؤول على المنشور، لا يتم إدراج رسائل البريد الإلكتروني في وضع القائمة البريدية في قائمة الانتظار. عندما نقوم بإصلاح هذه المشكلة، يجب أن يحل ذلك المشكلة. يجب أن أتمكن من معالجة هذا في الأسبوعين المقبلين.
لقد قمت بدمج هذا الإصلاح اليوم @cameron-simpson ، وسأقوم بنشر بايثون اليوم أيضًا ، ثم إذا كان بإمكانك إخباري بأي حالات أخرى لحدوث ذلك فسيكون ذلك رائعًا ومع ذلك أعتقد أن هذا يجب أن يحل المشكلة: