SQS - Lieferverzögerung von 30 Minuten
Aus der Dokumentation der SQS, Max Zeitverzögerung können wir konfigurieren für Sie eine Nachricht zu verstecken, von seinen Verbrauchern in 15 Minuten - http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html
Nehme an, wenn ich mich verstecken muss, die Nachrichten für ein Tag, was ist das Muster?
Für zB. Ich will zu imitieren einen täglichen cron-tut für ein bisschen action.
Dank
- Haben Sie einen Blick auf alestic.com/2015/05/aws-lambda-recurring-schedule für die tägliche cron.
- Mit AWS:SQS zu imitieren, ein cron-job ist eine schlechte Idee. AWS:SQS bietet eine spätere Lieferung nicht garantiert, dass die Nachricht, die geliefert werden exakt nach der delay_seconds Sie angegeben haben. Es könnte eine Sekunde oder mehr extra Zeit genommen(wenn auch äußerst selten) und auch doppelte Lieferungen. Gleiche mit der Verwendung timeout für Sichtbarkeit Feld. Seien Sie vorsichtig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Timeout für Sichtbarkeit tun können, bis zu 12 Stunden. Ich denke, man kann was hacken zusammen, wo Sie die Verarbeitung einer Nachricht aber nicht löschen und beim nächsten mal ist es verarbeitet wurde 12 Stunden. So eine Warteschlange mit einer Nachricht und timeout für Sichtbarkeit von 12 Stunden. Das bekommt man eine 12-Stunden-cron.
Der einfachste Weg, dies zu tun ist wie folgt:
Innen Ihre Arbeiter
Im Grunde schieben Sie die Nachricht an die Warteschlange mit der maximalen Verzögerung und nur verarbeiten, wenn dessen Bearbeitungszeit kleiner als die aktuelle Zeit.
HTH.
Cloudwatch ist wahrscheinlich ein besserer Weg, es zu tun. Sie können eine createEvent-API mit dem timer, und es lösen entweder eine lambda-Funktion oder einen API-Aufruf zu was auch immer als Nächstes kommt.
Anderen Weg, das zu tun, ist die Verwendung der "warten" - Dienstprogramm in einer AWS-Schritt-Funktion.
https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-wait-state.html
In jedem Fall, es sei denn, Sie sind extrem sicher, dass Sie hoffentlich niemals brauchen werden alles, was mehr als 15 Minuten, die SQS backdoor hinzufügen der Verzögerung scheint hacky.
Zwei Gedanken.