延迟指令
延迟指令 用于在工作流执行过程中暂停指定时间,暂停结束后自动恢复执行。它支持毫秒、秒、小时、天等时间单位,并可配置异常处理机制,常用于等待外部系统、控制调用频率或模拟人工操作的时间间隔。
指令标识:Delay
指令类型:逻辑控制指令
指令描述:令工作流暂停指定时间后恢复执行
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。延迟指令 是流程控制类节点,可视化里通过表单配置时长与单位,代码里直接使用 Python 原生的等待。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「延迟」节点,填写时间、时间单位与异常处理机制 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 直接使用 Python 原生的 time.sleep(seconds) | 熟悉代码、需要复用脚本的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。
什么时候用?
Section titled “什么时候用?”- 调用异步接口后,需要等待外部系统处理完成。
- 循环调用接口时,通过暂停控制请求频率,避免触发限流。
- UI 自动化场景中,模拟真实用户操作的时间间隔。
- 失败后等待一段时间再进行重试。
- 已确定合理的暂停时长,避免过长影响工作流整体响应速度。
- 已选择合适的时间单位(毫秒、秒、小时、天)。
- 如需在异常时自动重试,已规划好重试次数与重试间隔。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:轮询接口前固定等待 3 秒。按 3 步即可跑起来:
- 在工作流画布中添加 延迟 指令,放在需要等待的两个节点之间。
- 在右侧配置面板填写 时间 与 时间单位:
时间:3时间单位:秒(s)- 点击运行,确认流程在该节点暂停约 3 秒后继续执行。
| 界面名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 时间 | Number | 是 | - | 暂停时长,配合时间单位使用。支持毫秒(ms)、秒(s)、小时(h)、天(d)四种单位 |
| 异常处理机制 | Enum | 否 | - | 可选:异常停止(发生异常时终止执行)、异常继续(忽略异常继续执行)、异常重试(按重试次数与间隔重新执行) |
| 发送消息 | Boolean | 是 | - | 是否在延迟结束时发送通知消息 |
该节点用于控制执行节奏,无业务输出变量。
- 流程在该节点暂停约定的时长后自动恢复执行。
- 运行日志中没有异常记录(选择「异常停止」时)。
- 后续节点在延迟结束后正常执行。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 流程长时间不继续 | 时长或单位设置过大 | 检查「时间」与「时间单位」是否符合预期 |
| 延迟期间报异常并中止 | 异常处理机制设为「异常停止」 | 根据需要改为「异常继续」或「异常重试」 |
| 异常重试不生效 | 未配置重试次数与间隔 | 选择「异常重试」后补全重试次数和重试间隔 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。延迟在代码里直接对应 Python 原生的 time.sleep,运行上下文由代码编排模板创建。
import time
# 等待 3 秒后再继续后续逻辑time.sleep(3)如需结合重试场景,可在循环里配合等待:
import time
for attempt in range(3): ok = do_request() # 业务请求,返回是否成功 if ok: break time.sleep(2) # 失败后等待 2 秒再重试可视化节点提供的「异常处理机制」「异常重试」等能力,主要通过可视化编排配置使用。
Q1:暂停时长如何合理设置?
Section titled “Q1:暂停时长如何合理设置?”A: 根据实际业务需求选择合适的时长,过长会影响工作流响应速度,过短可能达不到等待效果。
Q2:支持哪些时间单位?
Section titled “Q2:支持哪些时间单位?”A: 支持毫秒(ms)、秒(s)、小时(h)、天(d)四种,根据需求选择。
Q3:异常重试需要配置什么?
Section titled “Q3:异常重试需要配置什么?”A: 异常处理机制选择「异常重试」时,需要配置重试次数和重试间隔,失败时会自动重试指定次数。