计划任务
计划任务即是定时作业。
配置
创建定时作业配置文件./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 name | Mandatory? | Allowed values | Allowed special characters |
---|---|---|---|
Minutes | Yes | 0-59 | * / , - |
Hours | Yes | 0-23 | * / , - |
Day of month | Yes | 1-31 | * / , - ? |
Month | Yes | 1-12 or JAN-DEC | * / , - |
Day of week | Yes | 0-6 or SUN-SAT | * / , - ? |