---
title: 计划
---

import { Callout } from 'fumadocs-ui/components/callout'
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
import { Image } from '@/components/ui/image'

计划模块会在指定的时间间隔或时间点自动触发工作流。

<div className="flex justify-center">
  <Image
    src="/static/blocks/schedule.png"
    alt="计划块"
    width={500}
    height={400}
    className="my-6"
  />
</div>

## 计划选项

配置工作流的运行时间：

<Tabs items={['简单间隔', 'Cron 表达式']}>
  <Tab>
    <ul className="list-disc space-y-1 pl-6">
      <li><strong>每 X 分钟</strong>：按分钟间隔运行（1-1440）</li>
      <li><strong>每小时</strong>：每小时在指定的分钟运行</li>
      <li><strong>每天</strong>：每天在指定时间运行</li>
      <li><strong>每周</strong>：每周在指定的星期和时间运行</li>
      <li><strong>每月</strong>：每月在指定的日期和时间运行</li>
    </ul>
  </Tab>
  <Tab>
    <p>使用 cron 表达式进行高级调度：</p>
    <div className="text-sm space-y-1">
      <div><code>0 9 * * 1-5</code> - 每个工作日的上午 9 点</div>
      <div><code>*/15 * * * *</code> - 每 15 分钟一次</div>
      <div><code>0 0 1 * *</code> - 每月的第一天</div>
    </div>
  </Tab>
</Tabs>

## 启用

计划与工作流部署相关联：

- **部署工作流** → 计划激活并开始运行
- **取消部署工作流** → 计划被移除
- **重新部署工作流** → 计划会以当前配置重新创建

<Callout>
必须先部署工作流，计划才会开始运行。请先配置计划块，然后在工具栏中部署。
</Callout>

## 自动禁用

为防止持续性错误，计划任务在**连续失败 100 次**后会自动禁用。禁用后：

- 计划块上会显示警告徽章
- 计划将停止执行
- 点击徽章可重新激活计划

<div className="flex justify-center">
  <Image
    src="/static/blocks/schedule-3.png"
    alt="已禁用的计划"
    width={500}
    height={400}
    className="my-6"
  />
</div>

<Callout>
计划块无法接收传入连接，只能作为工作流的入口点。
</Callout>