概述
- 一次性任务(one-shot):在下一个匹配时间触发一次,然后自动删除。
- 周期任务(recurring):按 Cron 计划反复触发,直到被删除或自动过期。
创建定时任务
/loop,见 重复执行任务(/loop)。
Cron 表达式
*、单值 N、步进 */N、区间 N-M、列表 N,M,...。星期字段中 7 会被当作周日(等同 0)。
不支持 L、W、?、名称别名(如 MON),也不含秒级字段。
示例:
所有时间都按运行 CLI 的本地时区解释。例如 0 9 * * * 表示 CLI 所在时区的每天 9 点。
保存位置与持久化
- 持久化任务:写入项目根目录的
<project>/.qoder/scheduled_tasks.json,进程重启后仍然存在。 - 会话内任务:只保存在内存中,当前会话结束后消失。
运行限制
- 任务数量上限:最多 50 个任务。达到上限后需要先删除已有任务才能创建新任务。
- 周期任务自动过期:周期任务在创建后 7 天 自动过期,除非更早被删除。需要长期运行的任务需重新创建。
- 最小粒度:由于不含秒级字段,最小调度粒度是 1 分钟。
- 单进程驱动:同一项目目录由文件锁保证只有一个进程驱动调度,避免重复触发。