首页 文章

AWS SWF安排活动

提问于
浏览 312
0

使用Java Flow Framework for SWF .

是否可以在SWF中安排特定时间的活动?让我们说,发送在2017年10月22日上午9:00运行“sendNotification” .

这些示例允许创建具有延迟的计时器,但不能在指定时间内创建 . 即使我可以根据当前时间戳和需要触发事件的目标时间来计算延迟,但是如何在工作流程执行期间获取当前时间,因为如果您尝试获取当前系统时间工作流决策程序,它在工作流中创建non-determinism并且失败 .

Date currentDate = new Date();
    long sysTimeInSeconds = (currentDate.getTime() / 1000);
    System.out.println("System Time : " + sysTimeInSeconds);
    Promise<Void> timer = clock.createTimer((timeStampInSeconds - sysTimeInSeconds));

[由于我们使用系统当前时间,因此不允许使用上述代码]

工作流时钟的当前时间,返回工作流的开始时间,这对我没用 .

那么我如何安排特定时间的活动?

1 回答

  • 0

    使用WorkflowClock . 它返回正确的确定性当前时间,该时间是重放决策的时间 .

    Here is the line of code将时钟更新为当前决策时间 .

相关问题