2017-07-24 4 views

Antwort

1

Wenn eine Funktion ohne Fehler abgeschlossen wird, markiert die Funktion die Nachricht automatisch als abgeschlossen und sie wird aus der Warteschlange entfernt.

Andernfalls wird die Nachricht wieder in die Warteschlange gestellt. Dies macht es sichtbar, um erneut verarbeitet zu werden. Beachten Sie jedoch, dass bei jeder Verarbeitung der Nachricht der Wert DeliveryCount inkrementiert wird. Wenn DeliveryCount die MaxDeliveryCount der Warteschlange überschreitet, wird die Nachricht in die Unterwarteschlange "Dead Message" verschoben.

+0

So zu produzieren, wird Timeout als eine Fehlerbedingung betrachtet? Ich vermute, dass es einen Orchestrator-Prozess gibt, der den Status der Funktion überprüft. Hängt dieser Prozess von der Funktion ab, seinen eigenen Status zu sagen? –

+0

Ich glaube, die Eigenschaft heißt 'dequeueCount', der Maximalwert ist auf 5 festgelegt und die Nachrichten werden in die ' -poison'-Warteschlange verschoben – Mikhail

0

Wie Mikhail erwähnt, versucht Funktion automatisch, eine Nachricht 5 Mal zu verarbeiten. Wenn es nach 5 Versuchen fehlschlägt, wird es automatisch in die Warteschlange <queuename>-poison verschoben.

Es folgen zwei verwandten Beiträge Schuppen ein wenig mehr Licht auf die, wie Warteschlangennachrichten und verarbeitet

Hier einige Dokumentation auf handling poison queue messages ist.

Ich hoffe, dies klärt die Dinge für Sie.

Verwandte Themen