← 返回文章列表

Dify 定时触发(trigger-schedule)实测:工作流到点自动跑,和三个必须知道的坑

📖 摘要:日报自动生成、看板定时刷新、巡检定时告警——这些「到点自动跑」的需求,Dify 用 trigger-schedule 节点实现:它是工作流的「闹钟」入口(替代开始节点),发布后按配置的时间自动启动工作流。本文实测验证了真实定时触发(cron 每分钟连续运行全部成功)、时区行为、失败处理——以及三个交付前必须知道的坑:定时任务失败是静默的、首次发布可能不生效、时间格式只认 12 小时制。

1. 业务场景:工作流需要一个「闹钟」

给客户做数据看板、日报系统时,最常听到的需求是:

每天早上 9 点自动生成昨天的销售日报;每周一自动刷新周报看板;每个整点自动巡检一次服务状态。

人工触发不现实——凌晨的日报没人守着点按钮。工作流需要的是一个「闹钟」:到点自动启动,跑完自动结束,结果落库。

2. 方案:trigger-schedule 节点

Dify 的定时触发是一个入口节点(trigger-schedule,替代 start 作为工作流起点):

3. 整体架构

graph TD A["定时计划(cron 表达式 + 时区)"] --> B["调度器每分钟轮询"] B -->|"到点"| C["自动启动工作流运行"] C --> D["执行节点链"] D --> E["结果落库 / 输出"] B -->|"未到点"| B

发布后:计划写入数据库(含下一次运行时间 next_run_at)→ 调度器轮询发现到期 → 启动运行 → 运行完成后自动推进到下一周期。

4. 实测验证(真实定时触发)

实验载体:最小定时工作流(trigger-schedule cron */1 * * * * 每分钟 → LLM 生成一句话 → 结束),时区 Asia/Shanghai,云端 Dify 1.16.1 实测。

结果:连续 4 分钟每分钟自动运行,全部成功,输出正常:

触发时间(UTC) 运行状态 耗时 输出
07:00:52 ✅ succeeded 1.5s 定时任务运行成功…
07:01:52 ✅ succeeded 0.8s 定时任务运行成功…
07:02:52 ✅ succeeded 1.3s 定时任务运行成功…
07:03:52 ✅ succeeded 1.1s 定时任务运行成功…

5. 关键配置(DSL 结构)

data:

  type: trigger-schedule      # 入口节点(替代 start)

  title: 定时触发器

  mode: cron                  # visual | cron

  cron_expression: "*/1 * * * *"   # cron 模式:标准 5 段

  timezone: Asia/Shanghai     # 时区——⚠️ 默认 UTC,国内必须显式设置

  desc: 工作流的闹钟

visual 模式(每天 9:00 触发):

mode: visual

frequency: daily

visual_config:

  time: "9:00 AM"             # ⚠️ 12 小时制,不支持 "09:00"

timezone: Asia/Shanghai

发布流程(⚠️ 两个关键点):

  1. 定时计划在发布时写入——首次发布可能不生效(实测第一次发布后计划表为空,重新发布一次才注册成功)——发布后务必验证

  2. 发布后 1-2 个周期内观察首轮触发(cron 分钟级验证最快)

6. 实测坑(三个必须知道)

# 坑 实测证据 对策
1 定时任务失败是静默的 LLM 模型故意配错:触发照常发生 → 运行失败 → 无运行记录、无触发日志,只有调度器日志里一行 ERROR;下一分钟继续触发(无退避/熔断) 交付必须设计失败可见性:工作流内部用异常分支 + 通知(webhook/消息);或外部监控调度器日志/定期核对结果
2 首次发布可能不生成定时计划 第一次发布后数据库计划表为空,重新发布才写入 发布两次兜底;发布后查计划确认
3 时间格式只认 12 小时制 visual 模式填 "14:30"(24 小时制)报错「Expected HH:MM AM/PM」,小时必须 1-12 time 用 "2:30 PM" 格式;或直接用 cron 模式(无此限制)

另外两个容易踩的:

7. 总结

定时触发把「到点自动跑」做成了平台原生能力:cron/visual 双模式、时区支持、周期自动推进,真实触发实测通过。但坑 1(失败静默)是交付红线——定时任务没有人工盯着,失败不可见等于「任务悄悄没跑」,方案里必须设计失败告警。

适合的场景:日报/周报自动生成、数据看板定时刷新、定时巡检与告警、定时拉取外部数据。不适合:对「必须跑成功」有硬性要求的任务(先解决失败可见性再说)。


本文为 Dify 功能实测记录,基于 2026-08 云端 1.16.1 环境,实验数据全部来自真实运行结果。

这些 AI 应用能力,如何交付到真实业务场景?看看方案与服务 →
本系列 · Dify 实战
  1. Dify Agent 应用实战:Beta 版「真 Agent」的能力边界实测
  2. Dify workflow 与 Hermes Agent skill 的确定性对比
  3. Dify 意图分类节点总翻车?从 33% 失败率到兜底不崩——可靠性与韧性的三层加固
  4. Dify 标注回复实战:让智能客服记住人工答案的纠错闭环
  5. Dify 知识库元数据过滤实战:检索噪声 75% 降到 0 的确定性闸门
  6. RAG 建库,如何自动设置分段模式
  7. RAG 知识库,一次清洗与分段配合失误的案例:分段切断了代码块
  8. RAG知识库,如何进行持续更新运维
  9. RAG知识库的元数据过滤能力边界
  10. 数据库里的结构化数据,怎么建立 RAG 知识库?两条路线与选型判断
  11. 流程卡在「等人审批」?把审批链接送到企业微信和邮箱
  12. Dify 1.17 升级实测(一):从工作流平台到 Agent 平台,升级前必须知道的 5 件事
  13. Dify 应用上架门户:分享页每次回答都挂着内部流程节点?一个字段关掉
  14. RAG 知识库交付实战(上):4277 页手册喂给 AI——从凌晨故障到三模块方案
  15. RAG 知识库建库前,数据到底该怎么清洗?一条可复用的清洗管线实测
  16. 我们的门户机器人,为什么用 Dify 答、不把 skill 搬上云端 Hermes?
  17. 知识库从需求到交付:清洗、入库、维护全流程,照着走、每一步都能验证
  18. Dify 1.17 升级实测(二):Agent V2 节点与技能包实测——配置在数据库,不在 DSL
  19. RAG 知识库交付实战(中):三大深坑与修复实录——流程图截断/限流风暴/并联污染
  20. DeepSeek 思考模式什么情况下可以关?一次空输出事故的排查实录
  21. Dify 1.17 升级实测(三):循环内人工审批与图片直传实测——两个高频场景的新解法
  22. Dify 定时触发(trigger-schedule)实测:工作流到点自动跑,和三个必须知道的坑
  23. Dify 知识库三种分段模式实测:通用、父子、Q&A 到底怎么选?
  24. Dify 知识库接入 Notion/网页:先搞清三件事,再谈清洗
  25. RAG 知识库交付实战(下):18 条用例与成本测算
  26. 知识库数据清洗后,怎么知道洗得干不干净?一套三层质量门禁实测
  27. Dify 实战:供应商报价单格式五花八门,AI 怎么知道哪列是单价?

联系我

邮箱contact@fishsun.cn

点击邮箱直接写信 · 扫码加微信沟通

微信

微信二维码

扫码加微信 · 备注「门户」更快通过