Cadence支持活动和工作流延迟。
我想实现一个延迟任务,并找到了一个cadence cron示例,如何使用cadence来实现延迟任务?
Cron用于定期执行某些功能。
如果需要延迟任务,可以调用sleep
和工作流的开始,然后调用执行任务的活动。
活动延迟可以通过Workflow.Sleep API 实现
工作流延迟可以通过DelayStart选项实现。看见https://github.com/uber-go/cadence-client/blob/e66e2d4da8def80e7a5730b824a2de7a28f5c050/internal/client.go#L415
- 对于常规工作流,这将延迟执行数秒,然后启动
- 对于cron工作流,这将只延迟第一次执行。例如,您希望设置每小时一次的cron工作流,但希望它从下周周一上午9点开始运行。您可以通过delayStart seconds选项将延迟到周一上午8点到9点,因此它将在上午9点开始,因为这是下一个时间表