Der beste Weg, um Nachrichten aus DLQ in Amazon SQS zu verschieben?
Was ist die beste übung zum verschieben von Nachrichten aus einem dead letter queue zurück, um die ursprüngliche Warteschlange in Amazon SQS?
Wäre es
- Bekommen Nachricht von DLQ
- Schreiben Nachricht an Warteschlange
- Löschen Nachricht von DLQ
Oder gibt es eine einfachere Möglichkeit?
Auch, AWS-schließlich haben Sie ein Werkzeug in der Konsole zum verschieben von Nachrichten aus der DLQ?
InformationsquelleAutor der Frage Matt Dell | 2014-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass sieht aus wie die beste option. Es besteht die Möglichkeit, dass Ihr Prozess nicht nach Schritt 2. In diesem Fall werden Sie am Ende kopieren die Nachricht zweimal, aber Sie sollten Umgang mit re-Lieferung von Nachrichten (oder nicht-Pflege) sowieso.
InformationsquelleAutor der Antwort Dave
Hier ist ein quick-hack. Dies ist definitiv nicht die beste oder die empfohlene option.
InformationsquelleAutor der Antwort Rajkumar
hier:
InformationsquelleAutor der Antwort Brian Dilley
Brauchen nicht zu bewegen, die Nachricht, da wird es mit so vielen anderen Herausforderungen wie doppelte Nachrichten, recovery-Szenarien, Nachricht verloren, de-Duplizierung überprüfen und etc.
Hier ist die Lösung, die wir umgesetzt -
In der Regel verwenden wir die DLQ für transiente Fehler, nicht für permanente Fehler. So nahm unter Ansatz -
Lesen Sie die Nachricht von DLQ wie eine normale Warteschlange
Vorteile
Folgen Sie dann den gleichen code, die reguläre Warteschlange ist folgende.
Zuverlässiger bei Abbruch der Auftrag oder der Prozess beendet habe, während der Verarbeitung (z.B. Instanz getötet oder der Prozess beendet wird),
Vorteile
Erweitern die Nachricht Sichtbarkeit, so dass keine anderen thread zu verarbeiten.
Profitieren
Löschen Sie die Nachricht nur, wenn entweder es ist ein permanenter Fehler oder erfolgreich.
Profitieren
InformationsquelleAutor der Antwort Ash
Gibt es eine andere Möglichkeit dies zu erreichen ohne das schreiben einzige Zeile code.
Betrachten Sie Ihre aktuelle queue-name wird SQS_Queue und der DLQ für die ist es SQS_DLQ.
Nun gehen Sie folgendermaßen vor:
InformationsquelleAutor der Antwort Priyanka Agarwal