mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-27 13:28:32 +07:00
Auto-generated translations for documentation changes in PR #654. Last-Processed-Commit: 63f964a0074f467f781dfb80ac00dba830626a68 Original-PR: #654 Languages: Chinese (zh), Japanese (ja) 🤖 Generated with GitHub Actions Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
105 lines
4.7 KiB
Plaintext
105 lines
4.7 KiB
Plaintext
---
|
||
title: 定时触发器
|
||
---
|
||
|
||
<Note> ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考[英文原版](/en/use-dify/nodes/trigger/schedule-trigger)。</Note>
|
||
|
||
## 简介
|
||
|
||
<Info>
|
||
触发器仅适用于工作流应用。
|
||
</Info>
|
||
|
||
定时触发器能够让工作流在指定的时间自动运行,适用于执行周期性重复任务,如生成每日报告或发送定时通知。
|
||
|
||
## 添加定时触发器
|
||
|
||
在工作流画布上,单击右键并选择 **添加节点** > **开始** > **定时触发器**。
|
||
|
||
<Tip>
|
||
一个工作流可同时拥有多个并行的定时触发器。当并行的分支包含相同的连续节点时,可在相同部分之前添加[变量聚合器](/zh/use-dify/nodes/variable-aggregator)节点以合并分支,而无需在每个分支中分别重复添加相同的节点。
|
||
</Tip>
|
||
|
||
## 配置定时触发器
|
||
|
||
你可以使用默认的可视化配置或 Cron 表达式来配置工作流的运行计划。
|
||
|
||
完成配置后,你将看到接下来 5 次的计划运行时间。
|
||
|
||
<Info>
|
||
定时触发器不产生任何输出变量。但每当其触发工作流时,都会更新系统变量 `sys.timestamp`(每次工作流运行的开始时间)。
|
||
</Info>
|
||
|
||
### 使用可视化配置
|
||
|
||
适用于简单的时度、日度、周度或月度运行计划。对于周度或月度计划,可同时选择多天。
|
||
|
||
### 使用 Cron 表达式
|
||
|
||
适用于更复杂和精确的运行计划,例如在工作日的上午 9 点到下午 5 点之间每 15 分钟运行一次。
|
||
|
||
<Tip>
|
||
你可以使用 LLM 来生成 Cron 表达式。
|
||
</Tip>
|
||
|
||
#### 标准格式
|
||
|
||
Cron 表达式是一段可用于定义工作流运行计划的字符串,由五个用空格分隔的字段组成,每个字段代表不同的时间单位。
|
||
|
||
<Note>
|
||
确保每个字段之间有一个空格。
|
||
</Note>
|
||
|
||
```
|
||
* * * * *
|
||
| | | | |
|
||
| | | | |── 星期几(0-7 或 SUN-SAT, 0 和 7 均表示星期日)
|
||
| | | |──── 月份(1-12 或 JAN-DEC)
|
||
| | |────── 日(1-31)
|
||
| |──────── 小时(0-23)
|
||
|────────── 分钟(0-59)
|
||
```
|
||
|
||
<Info>
|
||
当同时为 **日** 和 **星期几** 字段指定值时,触发器将在匹配 *任一* 字段的日期运行。
|
||
|
||
例如,`1 2 3 4 4` 会在 4 月 3 日 *以及* 4 月的每个星期四触发工作流,而不仅仅是在 4 月 3 号当天刚好是星期四时触发。
|
||
</Info>
|
||
|
||
#### 特殊字符
|
||
|
||
| 字符 | 描述 | 示例 |
|
||
|:-----------|:-------------|:---------|
|
||
| `*` | 表示「每个」。 | **小时** 字段中的 `*` 表示「每个小时」。 |
|
||
| `,` | 分隔多个值。 | **星期几** 字段中的 `1,3,5` 表示「星期一、星期三和星期五」。 |
|
||
| `-` | 定义值的范围。 | **小时** 字段中的 `9-17` 表示「上午 9 点到下午 5 点」。 |
|
||
| `/` | 指定步进值。 | **分钟** 字段中的 `*/15` 表示「每 15 分钟」。 |
|
||
| `L` | 表示「最后」。 <br /><br />在 **日** 字段中,表示「月的最后一天」。<br /><br />在 **星期几** 字段中:<ul><li>单独使用时,表示「周的最后一天」。</li><li>与数字组合使用时,表示「月的最后一个指定的星期几」。</li></ul>| **日** 字段中的 `L` 表示「1 月 31 日、4 月 30 日,或非闰年的 2 月 28 日」。<br /><br />**星期几** 字段中的 `L` 表示「星期日」。<br /><br />**星期几** 字段中的 `5L` 表示「月的最后一个星期五」。 |
|
||
| `?` | 表示「任意」或「无特定值」。<br /><br />如果你为 **星期几** 字段指定了值,可以用 `?` 来忽略 **日** 字段,反之亦然。<br /><br />非必需,因为 `*` 也可实现相同效果。 | 若要在每个星期一运行,将 **日** 字段设为 `?` 会比设为 `*` 更精确。|
|
||
|
||
#### 预定义表达式
|
||
|
||
- `@yearly`:每年一次,在 1 月 1 日的凌晨 12 点运行。
|
||
- `@monthly`:每月一次,在每月第一天的凌晨 12 点运行。
|
||
- `@weekly`:每周一次,在星期日的凌晨 12 点运行。
|
||
- `@daily`:每天一次,在凌晨 12 点运行。
|
||
- `@hourly`:在每小时开始时运行。
|
||
|
||
#### 示例
|
||
|
||
| 运行时间 | Cron 表达式 |
|
||
|:----------|:-----------------|
|
||
| 工作日上午 9 点 | `0 9 * * MON-FRI` or `0 9 * * 1-5` |
|
||
| 每周三下午 2:30 | `30 14 * * WED` |
|
||
| 每周日凌晨 12 点 | `0 0 * * 0` |
|
||
| 每周二每 2 小时一次 | `0 */2 * * 2` |
|
||
| 每月第一天凌晨 12 点 | `0 0 1 * *` |
|
||
| 1 月 1 日和 6 月 1 日的中午 12 点 | `0 12 1 JAN,JUN *` |
|
||
| 每月最后一天下午 5 点 | `0 17 L * *` |
|
||
| 每月最后一个星期五晚上 10 点 | `0 22 * * 5L` |
|
||
|
||
## 测试定时触发器
|
||
|
||
- **运行此步骤**:定时触发器会忽略已配置的计划,立即运行。
|
||
|
||
- **测试运行**:定时触发器会等待其下一个计划运行时间。 |