0

我在 qbo3 工作流程中有两项任务需要至少间隔 18 小时执行,但只能在工作时间(上午 8 点到下午 5 点)执行:

  • 任务 A
  • (停顿18小时)
  • 任务 B

可以将上面的步骤 2 配置为执行此操作吗?

4

1 回答 1

0

您应该使用 aPolling Step来执行此操作。轮询步骤按计划运行,并评估数据条件,直到条件为真。为了满足您的要求:

  • 创建一个Schedule设计为在上午 8 点到下午 5 点之间每小时运行一次
  • 创建一个Polling Step以查看是否已过 18 小时

创建计划

Configuration > Schedules,创建一个新的时间表:

  • 日程:Every Business Hour
  • 描述:Daily repeating 1 hour between 8am and 5pm

每天早上 8 点到下午 5 点重复 1 小时

创建轮询步骤

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 hoursnow

如果我们已经过了 18 小时标记,Wait 18 hours则将标记为完成,并且任何依赖于该Wait 18 hours步骤的步骤都将开始。

如果我们还没有超过 18 小时的标记,那么Every Business Hour计划将在一个小时内将该步骤排入队列以再次进行评估。如果这个时间恰好在工作时间之后,则计划会将下一次运行日期提前到第二天早上 @ 8am。

在此处输入图像描述

于 2020-12-04T02:11:21.957 回答