Skip to content
导航栏

计划任务

计划任务即是定时作业。

配置

创建定时作业配置文件./schedules/mail.sch.yao,配置文件需要保存在目录schedules,配置文件后缀名为:sch.yao,sch.jsonc, sch.json

计划任务支持两种调度方式,如果两个配置同时存在,优先使用异步任务。

  • 直接调用处理器
  • 调用异步任务,如果是长时间耗时参数,建议使用异步任务。

比如下面定义了一个定时接收邮件的计划。

json
{
  "name": "receive mail",
  "process": "scripts.app.email.client.receive",
  "schedule": "0/5 * * * *",
  "task": "",
  "args": [] //处理器参数或是任务参数。
}

在这里计划任务表达式与 linux 的不同,它的最小周期是分钟,而不是秒。

表达式的文档参考:https://pkg.go.dev/github.com/robfig/cron/v3@v3.0.0

A cron expression represents a set of times, using 5 space-separated fields.

Field nameMandatory?Allowed valuesAllowed special characters
MinutesYes0-59* / , -
HoursYes0-23* / , -
Day of monthYes1-31* / , - ?
MonthYes1-12 or JAN-DEC* / , -
Day of weekYes0-6 or SUN-SAT* / , - ?