For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Flow/v1.0.0/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Flow/v1.0.0/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Flow/v1.0.0/nodes/wait.md.
  • 简体中文
  • v1.0.0
  • 等待到指定时间 flow.wait

    等待节点把运行暂停到一个确定的 UTC 时间,适合冷却期、预约执行、业务截止前等待和延迟重试。截止时间写入历史后,当前 worker 会释放。调度器到期再投递运行,重放从 resumed 端口继续。等待期间没有线程或进程需要一直占用该运行。

    截止时间

    resume_at 是日期时间表达式,可以读取启动输入或已提交的上游结果。表达式必须得到包含时区的绝对时间。不要在每次重放时重新计算相对时长,否则进程重启可能不断推迟截止点。需要等待七天时,应先把基准时间和计算结果固定在输入或任务结果中,再由本节点读取最终时间。

    截止时间早于当前调度时刻时,运行会在调度器处理后尽快继续。它不等于运行超时,也不会自动提交超时终态。业务需要到期即失败时,可以让等待节点唤醒后进入 flow.timeout,并让两个节点使用同一个已持久化截止时间。需要等待外部消息时,应使用信号或 Hook,避免用高频轮询代替事件边界。

    调度与恢复检查

    入站控制边连接 in,到期后从 resumed 继续。生产环境要配置到期扫描或定向唤醒、时钟同步、扫描批量上限和重复投递处理。测试应覆盖未来时间、已经到期、时区偏移、进程重启、调度器重启以及同一运行重复唤醒。历史中已有恢复事件时,worker 不应再次创建新的等待决定。

    用它把运行暂停到一个绝对 UTC 时间。适合冷却期、预约执行、业务截止时间和确定性的重试窗口。

    运行方式

    等待时间写入历史后,worker 会释放。调度器到期后重新投递运行,重放从 resumed 端口继续。

    节点契约

    类型
    flow.wait
    角色
    持久运行命令
    运行绑定
    wait_until
    持久身份
    图节点 ID

    配置属性

    属性类型与控件默认值规则
    resume_at继续时间(UTC)dictA3SFlowExpressionInput{"apiVersion":"a3s.dev/flow-expression/v1","expression":{"op":"field","path":"input.deadline"}}可以填写以 Z 结尾的 UTC 时间,也可以选择一个保存了该时间的工作流字段。必填

    端口

    方向端口 ID种类数据类型
    输入in进入controlFlowControl
    输入resume_at继续时间dataDateTime
    输出resumed等待结束controlFlowControl

    节点 JSON 示例

    CLI 会用 manifest 默认值生成同样的节点结构。画布位置、标题和选中状态属于展示数据。

    workflow.json
    {
      "position": {
        "x": 320,
        "y": 160
      },
      "id": "example-flow-wait",
      "data": {
        "resume_at": {
          "apiVersion": "a3s.dev/flow-expression/v1",
          "expression": {
            "op": "field",
            "path": "input.deadline"
          }
        },
        "type": "flow.wait"
      }
    }

    CLI 用法

    先查看当前安装版本的 manifest,再创建节点并验证完整工作流。所有命令输出 JSON。

    Terminal
    a3s-flow node flow.wait --pretty
    a3s-flow new flow.wait --id example-flow-wait --pretty
    a3s-flow validate workflow.json --pretty
    a3s-flow compile workflow.json --pretty
    a3s-flow digest workflow.json --pretty

    Skill 用法

    安装包内附带 a3s-flow Skill。它会先查询 CLI 的节点清单,再创建、校验、编译并计算语义摘要。

    Prompt
    Use $a3s-flow to add the "flow.wait" node to workflow.json, connect valid ports, and validate the result.

    CLI 用法 · Skill 用法

    使用注意

    • 使用带时区的绝对时间。
    • 进程恢复不会重新计算截止时间。
    • 生产环境需要调度扫描或定向唤醒。