定时任务
定时任务在日常业务逻辑中非常常见,我们提供了不依赖操作系统级别的定时任务,只需要在后台就可以定义一个定时任务。
任务类型
定时任务种类
MineAdmin 支持 4
种任务类型:
- url 任务可以指定一个url地址来请求
- eval 任务可以直接写入php代码,直接运行php脚本
- Class 任务可以指定一个PHP类任务,执行类里面的execute方法(此类型任务需要重启服务器)
- Command 任务可以指定运行hyperf框架定义的命令(此任务需要事先定义好命令)
定时规则
任务的定时规则与Linux系统的定时规则类似,只是系统的定时任务支持秒级的定义:
例如:30 */5 * * * *
,代表每隔5分钟的第30秒执行任务
0 1 2 3 4 5
* * * * * *
- - - - - -
| | | | | |
| | | | | +----- 周 (0 - 6) (星期天=0)
| | | | +----- 月份 (1 - 12)
| | | +------- 天 (1 - 31)
| | +--------- 小时 (0 - 23)
| +----------- 分 (0 - 59)
+------------- 秒 (0-59)
任务参数
目前定时任务只支持传入字符串参数。比如类任务处理的时候,可以以某个字符切分字符串,得到想要的数据。
温馨提示
温馨提示
任务定时时间修改后,并不是即使生效,而需要等待下一分钟后才会生效。
如果遇到定义了秒级定时任务,修改后,若还继续执行不需要惊讶,下一分钟就会按照新的定时规则运行了。