使用Wait State
可以在流程中进行时间控制,加入延时处理、定时处理等功能
进入Step Functions服务,创建新的State machine
:
workflow的JSON更新成如下:
{
"StartAt": "Wait 3 Seconds",
"States": {
"Wait 3 Seconds": {
"Type": "Wait",
"Seconds": 3,
"Next": "Dynamic Wait"
},
"Dynamic Wait": {
"Type": "Wait",
"TimestampPath": "$.waitUntilTimestamp",
"Next": "Wait Until Hard Coded"
},
"Wait Until Hard Coded": {
"Type": "Wait",
"Timestamp": "2050-01-01T00:00:01Z",
"End": true
}
}
}
此workflow的流程如下:
在Wait 3 Seconds
阶段,先等待3秒
在Dynamic Wait
阶段,等待到传入的时间值
(例如2022-01-01T00:00:01Z
)后再执行下一阶段
再wait到设置的时间值(2050-01-01T00:00:01Z
)。
渲染效果如下:
进入下一步,将state machine命名为wait-test
,其他选项保持默认,点击创建:
创建完成后,新建一个Execution:
测试的Input如下, waitUntilTimestamp
建议设置为当前时间点往后加两分钟
(注意是0时区的时间):
{
"waitUntilTimestamp": "2022-02-02T02:02:02Z"
}
执行后,先等待3秒,再进行Dynamic Wait
阶段:
最后进入Wait Until Hard Coded
阶段: