O serviço AWS Step Functions
anunciado recentemente pode ajudá-lo a implementar o que você está descrevendo. O serviço pode coordenar a execução dos componentes da sua aplicação, o que pode ser, e. Lambda
funções. Ele fornece um console gráfico onde você pode modelar dependências entre eles e definir uma máquina de estados finitos que captura o fluxo de trabalho do aplicativo. Você pode encontrar mais informações sobre o serviço nos seguintes links:
Anunciando as funções do AWS Step
De volta ao seu caso. As Funções de Etapa fornecem um estado Wait
que atrasa a máquina de estado de continuar por um tempo especificado. Portanto, o fluxo de trabalho de seu aplicativo pode ser assim:
OestadoFirstState
executariaumafunçãolambdasendamessagetoauserwhoinvokedit
.Então,eleesperaria2dias,representadoporwait_using_seconds
state,efinalmenteexecutariaumafunçãolambda'sendafollowupmessage',comoFinalState
state.
DefiniçãodamáquinadeestadoescritaemAmazonStatesLanguage
:
{"Comment": "An example of the Amazon States Language using wait states",
"StartAt": "FirstState",
"States": {
"FirstState": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ACCOUNT:function:FUNCTION1",
"Next": "wait_using_seconds"
},
"wait_using_seconds": {
"Type": "Wait",
"Seconds": 172800,
"Next": "FinalState"
},
"FinalState": {
"Type": "Task",
"Resource": "arn:aws:lambda:REGION:ACCOUNT:function:FUNCTION2",
"End": true
}
}
}