我在 qbo3 工作流程中有两项任务需要至少间隔 18 小时执行,但只能在工作时间(上午 8 点到下午 5 点)执行:
- 任务 A
- (停顿18小时)
- 任务 B
可以将上面的步骤 2 配置为执行此操作吗?
我在 qbo3 工作流程中有两项任务需要至少间隔 18 小时执行,但只能在工作时间(上午 8 点到下午 5 点)执行:
可以将上面的步骤 2 配置为执行此操作吗?
您应该使用 aPolling Step
来执行此操作。轮询步骤按计划运行,并评估数据条件,直到条件为真。为了满足您的要求:
Schedule
设计为在上午 8 点到下午 5 点之间每小时运行一次Polling Step
以查看是否已过 18 小时从Configuration > Schedules
,创建一个新的时间表:
Every Business Hour
Daily repeating 1 hour between 8am and 5pm
从Templates > Workflows
中,选择您的工作流程并选择Add a Polling Step
:
Wait 18 hours
Summary Data
format:dateDiff(//*[DecisionStep="Wait 18 hours"]/CreatedDate, "now", "h") >= 18
Every Business Hour
此功能的关键是format:dateDiff()
函数,它计算步骤 和之间CreatedDate
的小时数。Wait 18 hours
now
如果我们已经过了 18 小时标记,Wait 18 hours
则将标记为完成,并且任何依赖于该Wait 18 hours
步骤的步骤都将开始。
如果我们还没有超过 18 小时的标记,那么Every Business Hour
计划将在一个小时内将该步骤排入队列以再次进行评估。如果这个时间恰好在工作时间之后,则计划会将下一次运行日期提前到第二天早上 @ 8am。