2017-04-23 4 views
0

ich eine Amazon SQS-Warteschlange haben und ich versuche, um es auf diese Weise funktioniert:Amazon SQS - Make Nachricht unsichtbar für x Sekunden

  • Wenn eine neue Nachricht in die Warteschlange aufgenommen, nur der erste Kunde, der erhalten diese Nachricht wird die Arbeit
  • für andere starten, wird die Nachricht für Zeit

Ist es möglich, zu tun dies mit Sicht Timeout unsichtbar sein?

+1

Was hast du probiert? –

+2

Das ist genau das Standardverhalten von Amazon SQS. –

Antwort

1

Wenn ein Benutzer eine Nachricht von der SQS-Warteschlange empfängt und verarbeitet, verbleibt die Nachricht in der Warteschlange (bis sie vom Benutzer gelöscht wird). Um sicherzustellen, dass andere Benutzer dieselbe Nachricht nicht verarbeiten, können Sie Sichtbarkeits-Timeout der Warteschlange festlegen. Nachdem die Nachricht vom Kunden verarbeitet wurde, können Sie die Nachricht aus der Warteschlange löschen. Für die Dauer des Sichtbarkeits-Timeouts kann kein anderer Verbraucher die gleiche Nachricht empfangen und verarbeiten.

0

Es gibt keine andere Möglichkeit, die Nachricht zu "sperren", als eine lange Visibility Timeout mit einem maximalen Timeout von 12 Stunden einzustellen.

Wenn jedoch Ihr tatsächliches Problem auch Fehler/Abstürze enthält, können Sie die Redrive-Richtlinie Dead-Letter-Queue verwenden, um mit Warteschlangeninhalten fertig zu werden, die nicht auf unbestimmte Zeit verarbeitet werden können.

Verwandte Themen