job 计划任务开发
计划任务概述
过去,你可能需要在服务器上为每一个调度任务去创建 Cron 条目。因为这些任务的调度不是通过代码控制的,你要查看或新增任务调度都需要通过 SSH 远程登录到服务器上去操作,使用起来不是很方便。现在你可以通过项目内置的任务调度器在项目中清晰明了地实现计划任务 
框架计划任务开发
定义任务模板
文件位置:niucloud-core/src/main/resources/core/loader/schedule.json 
定义任务类
在 niucloud-core/src/main/java/com/niu/core/job/ 路径下新增任务类 
插件计划任务开发
下面以 mall 插件为例,介绍插件计划任务开发
定义计划任务模板
文件位置:niucloud-addon\mall\src\main\resources\mall\loader\schedule.json
关键代码:
json
[
{
"key": "OrderCloseJob",
"name": "订单自动关闭",
"desc": "",
"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
},
{
"key": "OrderCloseAllowRefundJob",
"name": "订单完成自动关闭售后",
"desc": "",
"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
}
]type 任务调度频率类型:
| type(任务的调度频率) | 示例 | 说明 |
|---|---|---|
| min | min为1 | 表示每分钟运行一次任务 |
| hour | hour为1 min为1 | 表示每隔一小时的第几分钟运行一次任务 |
| day | day为1 hour为1 min为1 | 表示每隔一日的1时1分运行一次任务 |
| week | week为1 hour为1 min为1 | 表示每周周一的1时1分运行一次任务 |
| month | day为1 hour为1 min为1 | 表示每月一号的1时1分运行一次任务 |
编写具体的计划任务逻辑代码
文件位置:niucloud-addon\mall\src\main\java\com\niu\mall\job
后台添加计划任务
任务添加到模板之后,这时候任务还不能使用,还需要将任务模板写入到数据库中:
后台点击开发->计划任务->添加任务
选择任务模板,设置任务周期和是否启用,点击确定即可成功添加计划任务 
