Ich versuche, herauszufinden, was der beste Ansatz ist später eine aws Lambda-Funktion 5 Stunden aufzurufen. Ich habe eine andere Lambda-Funktion, die mehrere Suchaufträge ausgibt, um Gegenstände aus dem Gletscher zu holen, und ich brauche eine Lösung, um eine weitere Lambda-Funktion auf jedem der Elemente auszuführen, sobald sie abgerufen sind, was ungefähr 5 Stunden dauert. Ich dachte über die Verwendung von SNS nach, aber ich fragte mich, ob es andere Ansätze dafür gibt. Jede Eingabe wird geschätzt.invoke Lambda-Funktion mit Stunden Verspätung
1
A
Antwort
4
Neben Cloudwatch verwenden, ein weiterer interessanter Ansatz in Ihrem Fall wäre zu verwenden AWS Step Functions:
Entweder ein wait state verwenden, indem Sie einen festen Zeitraum einstellen (oder sogar ein dynamischen wenn Sie liefern Eingangsdaten an die Zustandsmaschine):
{ "Comment": "An example of the Amazon States Language using wait states", "StartAt": "WaitState", "States": { "WaitState": { "Type": "Wait", "Seconds": 10, "Next": "MyLambda" }, "MyLambda": { "Type": "Task", "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:FUNCTION_NAME", "End": true } } }
Oder Sie können mit einem choice state eine separate Lambda-Funktion in einem task state kombiniert verwenden die überprüft, in einer Schleife, wenn die andere Funktion ausgeführt werden soll:
{ "Comment": "A state machine that submits a Job to AWS Batch and monitors the Job until it completes.", "StartAt": "Wait X Seconds", "States": { "Wait X Seconds": { "Type": "Wait", "SecondsPath": "$.wait_time", "Next": "Get Job Status" }, "Get Job Status": { "Type": "Task", "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:CheckJob", "Next": "Job Complete?" }, "Job Complete?": { "Type": "Choice", "Choices": [ { "Variable": "$.status", "StringEquals": "RUNNING", "Next": "Wait X Seconds" }, { "Variable": "$.status", "StringEquals": "SUCCEEDED", "Next": "Do Job" } ], "Default": "Wait X Seconds" }, "Do Job": { "Type": "Task", "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:CheckJob", "End": true } } }
0
Der ideale Weg ist Lambda-Funktion Cloudwatch Ereignis zu planen. Bitte beachten Sie weitere Details zu dem gleichen here
Verwandte Themen
- 1. Verspätung Zahlungen auf Paypal
- 2. PayPal-Profil für wiederkehrende Zahlungen mit Anfangsbetrag - potenzielle 24-Stunden-Verspätung sogar für den ursprünglichen Betrag?
- 3. Joomla - Verspätung beim Publizieren neuer Dinge
- 4. Flink Fenster, Ereignis Zeit, Verspätung, maxOutOfOrdeness
- 5. Invoke mit Timeout
- 6. Invoke-RestMethod mit Powershell
- 7. Scraping mit Invoke-WebRequest
- 8. Invoke-Befehl mit -credentials
- 9. AddSingleton mit Async Invoke?
- 10. Probleme mit Invoke-Befehl
- 11. Invoke while-Schleife mit Ausdruckssprache
- 12. Invoke-WebRequest, POST mit Parametern
- 13. Invoke-RestMethod URL mit Backslash
- 14. marklogic invoke Funktion mit Parametern
- 15. iOS invoke Klassenmethode mit IMP
- 16. Invoke Property
- 17. Was ist der Unterschied zwischen Invoke und Invoke?
- 18. Konvertierung 12-Stunden- bis 24-Stunden-Format mit Javascript
- 19. Invoke-RestMethod oder Invoke-WebRequest Version von curl?
- 20. C# Aufrufmethode mit P/Invoke verursacht AccessViolation Ausnahme
- 21. TargetException on Invoke
- 22. Invoke-VMScript - PowerCli - Kompatibilität
- 23. invoke-sqlcmd leere Variable
- 24. WPF Invoke und MethodInvoker
- 25. Invoke-Command Verhaltenserklärung
- 26. VMWare PowerCLI Invoke-VMScript
- 27. Invoke-Methode von MethodInfo
- 28. Cap invoke und sudo
- 29. Powershell Invoke-RestMethod Zertifikatsvalidierung
- 30. Invoke-WebRequest Fehler
5 Stunden eine Konstante oder wollen Sie hängt Funktionen auf anderen Lambda-Ausgang laufen? –
sollte es konstant sein und nicht abhängig von der anderen Lambda-Ausgabe – Calvin
Ideales Design würde CloudWatch-Ereignisse verwenden. Ich habe Details in Antwort hinzugefügt –