API-Endpunkt, um auf das Leeren der Mail-Warteschlange zu warten?

Hallo,

Nach dem Einspeisen von E-Mails über den /admin/email/handle_mail-API-Endpunkt werden die E-Mails zur Verarbeitung in die Warteschlange eingeordnet. Gibt es einen API-Endpunkt, um zu warten, bis die Warteschlange geleert ist? Oder um die Größe der Warteschlange abzufragen?

Viele Grüße

Welches Problem haben Sie, das Sie zu lösen versuchen?

Ich bin mir nicht sicher, was Sie meinen. Ist das oben beschriebene Problem mehrdeutig ausgedrückt?

Du bittest um eine Lösung. Es ist nicht klar, was das Problem ist. Diese Nachrichten werden in der Regel sehr schnell verarbeitet und stellen kein Problem dar. Ich denke, wenn sie in einer Warteschlange liegen, könntest du die Liste über Sidekiq erhalten.

Warum benötigst du die Liste der Warteschlangen-Nachrichten? Meistens existiert gar keine Warteschlange.

Sie liegen falsch: Die E-Mail-Verarbeitung ist asynchron und wird in einer Warteschlange abgearbeitet. Daher ist es sinnvoll, darauf zu warten, dass die Warteschlange abgearbeitet ist.

Ich glaube nicht, dass wir derzeit eine API dafür bereitstellen. Das Nächste, was wir haben, ist die Sidekiq-Web-Oberfläche für die Standard-Warteschlange, in der dieser Job unter /sidekiq/queues/default wartet.

Da die Verarbeitung von E-Mails sequenziell erfolgt, funktioniert folgende Workaround-Lösung:

  • /admin/email/handle_mail Senden Sie eine E-Mail mit einem eindeutigen Betreff/Titel wie Rote Laterne (Zeitstempel) an categoryname@example.com.
  • Suchen Sie die Kategorie-ID der Kategorie, für die die Einstellung E-Mail eingehen auf categoryname@example.com gesetzt ist.
  • Suche mit folgenden Parametern:
    • ‘term’ = Rote Laterne (Zeitstempel)
    • ‘search_context[type]’ = ‘category’
    • ‘search_context[id]’: Kategorie-ID
  • Durchlaufen Sie die ‘Topics’ im Ergebnis und vergleichen Sie den ‘title’-Wert mit Rote Laterne (Zeitstempel).
  • Wenn es gefunden wird, bedeutet dies, dass alle vor dieser E-Mail gesendeten Nachrichten verarbeitet wurden.
  • Löschen Sie das Topic Rote Laterne (Zeitstempel) mithilfe der topic['id'] aus den Suchergebnissen.