2013-01-18 10 views
13

Ich habe einige EC2-Server, die von einer SQS-Warteschlange abziehen. Gelegentlich treffen sie auf eine Situation, in der die Arbeit nicht beendet werden kann. Ich habe den Prozess per E-Mail von der Bedingung. Wie es jetzt aussieht, bleibt die Nachricht "im Flug", bis sie ausläuft. Ich möchte, dass der Prozess die Nachricht nach dem Senden der E-Mail sofort an die Warteschlange zurückgibt. Aber ich bin mir nicht sicher, wie ich das erreichen soll. Gibt es einen Weg? Wenn ja, können Sie mich bitte auf den Anruf hinweisen oder ein Code-Snippet posten.Eine Nachricht an SQS zurückgeben

Ich benutze Python 2.7.3 und Boto 2.5.2.

Antwort

15

Wenn Sie eine Nachricht gelesen haben und aus welchem ​​Grund auch immer entscheiden, dass Sie sie nicht verarbeiten möchten und sie anderen Lesern der Warteschlange sofort zur Verfügung stellen möchten, können Sie die Nachricht visibility timeout mit der Option 0 auf 0 setzen change_visibility Methode des Objekts Message in Boto. Details siehe The SQS Developer's Guide.

+0

Perfekt! Vielen Dank! –