نقطة نهاية API للانتظار حتى تفرغ طابور البريد؟

مرحباً،

بعد حقن الرسائل باستخدام نقطة نهاية API /admin/email/handle_mail، يتم جدولة الرسائل للمعالجة. هل توجد نقطة نهاية API للانتظار حتى يتم تفريغ الطابور؟ أو للحصول على حجم الطابور؟

تحياتي

ما هي المشكلة التي تواجهها وتحاول حلها؟

أنا لست متأكدًا مما تسأل عنه؟ هل هناك أي غموض في المشكلة المذكورة أعلاه؟

تطلب حلاً، لكن المشكلة غير واضحة. تُعالج هذه الرسائل في الغالب بسرعة ولا تُعدّ مشكلة. أعتقد أنه إذا كانت مكدّسة، فقد تحصل على القائمة من Sidekiq.

لماذا تحتاج إلى قائمة الرسائل المكدّسة؟ في الغالب لا توجد قائمة انتظار.

أنت مخطئ: معالجة البريد غير متزامنة ومُصنَّفة في قوائم انتظار، وهذا هو السبب في أنه من المنطقي الانتظار حتى تفرغ القوائم.

لا أعتقد أننا نوفر أي واجهة برمجة تطبيقات (API) لذلك في الوقت الحالي. أقرب شيء لدينا هو واجهة ويب Sidekiq للصف الافتراضي حيث سينتظر هذا المهمة في /sidekiq/queues/default

بما أن معالجة الرسائل الإلكترونية تتم بتسلسل، فإن الحيلة التالية تعمل:

  • /admin/email/handle_mail أرسل رسالة بريد إلكتروني بعنوان أو موضوع فريد مثل Red Lantern (timestamp) إلى categoryname@example.com.
  • ابحث عن معرف الفئة (category id) للفئة التي تكون فيها إعداد البريد الوارد (email in) هو categoryname@example.com.
  • قم بـ بحث باستخدام المعاملات التالية:
    • ‘term’ = Red Lantern (timestamp)
    • ‘search_context[type]’ = ‘category’
    • ‘search_context[id]’: معرف الفئة
  • مرّر على ‘المواضيع’ في النتيجة وقارن قيمة ‘العنوان’ بـ Red Lantern (timestamp).
  • إذا تم العثور عليه، فهذا يعني أن جميع الرسائل السابقة لهذه الرسالة قد تمت معالجتها.
  • قم بـ حذف موضوع Red Lantern (timestamp) باستخدام topic['id'] من نتائج البحث.