ToolJet 工作流定时触发实战:使用 Scheduler 按时间间隔与 Cron 表达式自动执行 Workflow
发布时间:2026/9/10 2:31:58 锦皓数字建站

ToolJet 工作流定时触发实战使用 Scheduler 按时间间隔与 Cron 表达式自动执行 Workflow【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet本文是一份面向 ToolJet 工作流Workflow开发者的定时调度指南聚焦于工作流编辑器中Triggers → Schedules调度器的完整使用流程。文章将带你掌握两种调度模式以每 10 分钟、每周一 9:00为代表的Interval时间间隔模式以及以 Cron 语法精确控制执行时刻的Cron 模式并了解时区Timezone与环境Environment配置对调度生效的影响。读完本文你将能够在 ToolJet 中独立创建、保存、激活并管理定时触发的自动化工作流同时理解调度配置在前端界面、REST API 与数据库实体之间的完整落地链路。调度器Scheduler是什么ToolJet 允许工作流按照固定的时间间隔或在指定的时刻被自动触发无需人工介入。调度器即为承载这一能力的触发器类型它与 Webhook 触发器收到 HTTP 请求时执行和手动触发器在应用查询面板中执行共同构成了 Triggers 的三种触发方式。使用调度器的典型场景包括定时从外部 API 拉取数据并写入数据库周期性发送报表或通知在业务低谷时段批量执行耗时任务按业务日历如每周一早晨执行特定流程。调度配置的核心要素有三个执行频率时间间隔或 Cron 表达式、时区与运行环境。其中时区可确保调度与本地时间对齐避免因服务器与用户所在地时区不一致导致执行时刻偏移。需要说明的是从当前仓库源码看工作流调度属于企业版Enterprise能力server/src/modules/workflows/services/workflow-scheduler.service.ts 中的调度实现方法会抛出Workflow scheduling is an Enterprise feature. Please upgrade to use workflow scheduling.的提示使用前请确认你的许可证版本包含该功能。准备工作创建工作流在配置任何调度之前需要先有一个可被执行的工作流。创建工作流的详细步骤可参考 Workflow Overview 指南。工作流画布由各类节点组成例如数据源查询节点、JS 转换节点、条件分支节点与返回Response节点调度器到点后会从工作流的起始节点开始执行整个节点链路。方式一以时间间隔运行工作流Interval 模式Interval 模式适合简单、规则化的调度需求例如每 10 分钟执行一次、每小时运行更新任务、或每周发起例行流程。它通过单位 数值的下拉组合来描述频率无需记忆任何语法。操作步骤创建工作流参考 Workflow Overview 指南创建并打开目标工作流。进入 Triggers 面板在工作流编辑器的左侧面板中点击Triggers区域。新建调度在 Triggers 面板中点击Schedules然后点击 New schedule按钮。选择 Label 类型在弹出的配置窗口中将 Label 选择为Interval。填写必需字段Timezone时区选择希望触发工作流的本地时区。调度器会依据该时区换算执行时刻确保调度与业务所在地时间一致。Run every运行频率选择工作流的运行间隔。界面按层级拆分选择例如Week周→ On Monday每周一→ at 9:00 AM上午 9 点即代表每周一 9:00 执行分钟、小时、天、周、月等单位均可按需组合。Environment环境选择工作流运行所在的环境例如 Development、Production 等。不同环境下的工作流可绑定不同的数据源连接因此选择正确的环境意味着调度将作用于该环境对应的配置。保存调度点击 Create schedule创建并保存调度。保存后界面会在 Environment 字段下方给出本次调度配置的自然语言摘要例如Set to run at 9:00 AM every Monday用于核对配置是否符合预期。激活调度默认情况下新建的调度处于未激活状态需要手动打开开关toggle将其激活调度才会真正开始按规则触发。方式二使用 Cron 表达式运行工作流Cron 模式当执行规则较为复杂例如每天凌晨 3:15 运行每月 15 号触发仅工作日执行时Interval 模式的固定选项就不够用了。此时可以使用Cron 模式通过标准 Cron 语法精确描述执行时刻且 ToolJet 为 Cron 配置提供了图形化界面逐字段填写即可无需直接手写整串表达式。操作步骤创建工作流参考 Workflow Overview 指南创建并打开目标工作流。进入 Triggers 面板点击左侧面板的Triggers区域。新建调度点击Schedules再点击 New schedule。选择 Label 类型将 Label 选择为Cron。填写必需字段Timezone时区选择触发工作流所用的本地时区。Cron 表达式字段图形化界面将 Cron 表达式拆分为五个输入框自上而下依次为Minute分钟取值范围 0–59Hours小时取值范围 0–23Day of the month日期取值范围 1–31Month月份取值范围 1–12*表示所有月份Day of the week星期取值范围 0–70 与 7 均代表周日*表示所有星期。例如文档中的示例分钟填15、其余字段均为*即代表每小时的第 15 分钟触发而表达式0 9 * * 1则代表每周一 9:00 执行。填入后界面会在 Environment 字段下方实时给出表达式对应的可读描述便于校验若表达式非法界面会提示 Invalid cron expression此时应逐字段检查取值范围与组合合法性。Environment环境选择工作流运行所在的环境。保存调度点击 Create schedule创建并保存调度。激活调度与 Interval 模式一致默认新建的调度处于未激活状态打开开关激活后才会生效。提示在编写 Cron 表达式时可借助通用的 cron 表达式生成与校验工具辅助确认字段语义避免因 5 段字段含义混淆而配置出错。调度的底层实现与数据模型理解了界面操作后再来看调度配置在 ToolJet 中的存储与接口形态有助于在需要排查问题或对接 API 时快速定位。数据库实体workflow_schedules 表每条调度记录对应数据库中的一行实体定义位于 server/src/entities/workflow_schedule.entity.ts表名为workflow_schedules核心字段如下字段类型说明id主键调度记录唯一标识workflow_id外键关联到app_version表工作流版本删除工作流版本时级联删除调度onDelete: CASCADEactiveboolean调度是否处于激活状态environment_idstring调度运行所在环境typestring调度类型即界面中的 Labelinterval或crontimezonestring调度使用的时区detailssimple-json调度细节以 JSON 存储frequency频率单位、minutes、hour、date等字段created_at/updated_at时间戳创建与更新时间从字段设计可以看出界面中的时区、环境、类型、激活开关与数据库列一一对应而details列则以 JSON 承载不同模式下差异化的频率配置Interval 的单位组合或 Cron 的五段字段这种固定列 JSON 细节的结构让两种模式得以复用同一张表。REST APIworkflow-schedules 接口调度相关的后端接口定义于 server/src/modules/workflows/controllers/workflow-schedules.controller.ts统一挂在workflow-schedules路由下方法路径作用POST/workflow-schedules创建调度请求体包含workflowId、active、environmentId、type、timezone、detailsGET/workflow-schedules?app_id{appId}按工作流应用ID 列出全部调度GET/workflow-schedules/:id查询单条调度PUT/workflow-schedules/:id更新调度环境、类型、时区、细节等PUT/workflow-schedules/activate/:id仅更新active开关用于激活/停用调度DELETE/workflow-schedules/:id删除调度其中workflowId在注释中明确指出workflow id versionId即工作流版本 IDdetails的结构为{ frequency: string; minutes: number; hour: string; date: string | number }与前文实体字段对应。每个端点都带有InitFeature装饰器例如CREATE_WORKFLOW_SCHEDULE、ACTIVATE_SCHEDULED_WORKFLOW等特性键说明创建、列出、更新、激活、删除等操作均受企业版特性开关控制。前端调用链路前端封装了与上述接口一一对应的服务位于 frontend/src/_services/workflow_schedules.service.js提供create、getAll、getById、update、activateWorkflowSchedule、remove六个方法。其中activateWorkflowSchedule(id, active)专门调用PUT /workflow-schedules/activate/:id实现默认新建即未激活、手动 toggle 激活的交互逻辑create方法的入参顺序为(workflowId, active, environmentId, type, timezone, details)与后端 POST 请求体字段完全一致。常见问题与排查建议创建后调度不执行新建的调度默认处于未激活状态请确认已打开激活开关且对应记录的active字段为true。执行时刻与预期不符检查Timezone配置确认其与业务所在地时区一致同时确认Environment选择正确避免调度作用到了预期之外的环境。Cron 表达式报错界面提示 Invalid cron expression 时逐字段核对取值范围分钟 0–59、小时 0–23、日期 1–31、月份 1–12、星期 0–7并注意各字段间的组合是否合理。删除调度在调度编辑窗口中可通过Delete schedule删除配置由于workflow_id外键设置了级联删除删除工作流版本时关联调度也会一并清理。小结通过 Triggers → Schedules 调度器ToolJet 工作流即可从手动/被调用执行升级为到点自动执行Interval 模式适合分钟、小时、天、周、月为单位的规则化任务Cron 模式则借助图形化的五段字段实现任意精确时刻的调度时区与环境字段保证了调度在不同地域、不同部署环境下的正确性。配合 workflow_schedules 表 的数据结构与 workflow-schedules REST API你既能通过界面完成配置也能在需要时基于 API 实现调度的程序化管理。更多触发器类型Webhook、手动与参数传递方式可继续阅读 Triggers 文档。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。