Skip to content

job 计划任务开发

计划任务概述

过去,你可能需要在服务器上为每一个调度任务去创建 Cron 条目。因为这些任务的调度不是通过代码控制的,你要查看或新增任务调度都需要通过 SSH 远程登录到服务器上去操作,使用起来不是很方便。现在你可以通过项目内置的任务调度器在项目中清晰明了地实现计划任务

插件计划任务开发

定义计划任务模板

文件位置:niucloud-addon\lg_cms\src\main\resources\lg_cms\loader\schedule.json 关键代码:

[
	{
		"key": "LGCMSCloseJob",
		"name": "测试到期自动关闭",
		"desc": "",
		"time": "{\"type\":\"min\",\"week\":\"\",\"day\":\"\",\"hour\":\"\",\"min\":\"1\"}"
	}
]

type 任务调度频率类型:

type(任务的调度频率)示例说明
minmin为1表示每分钟运行一次任务
hourhour为1 min为1表示每隔一小时的第几分钟运行一次任务
dayday为1 hour为1 min为1表示每隔一日的1时1分运行一次任务
weekweek为1 hour为1 min为1表示每周周一的1时1分运行一次任务
monthday为1 hour为1 min为1表示每月一号的1时1分运行一次任务

编写具体的计划任务逻辑代码

文件位置:niucloud-admin-java\niucloud-addon\lg_cms\src\main\java\com\niu\lg_cms\job\LGCMSCloseJob.java

后台添加计划任务

任务添加到模板之后,这时候任务还不能使用,还需要将任务模板写入到数据库中:

后台点击开发->计划任务->添加任务 选择任务模板,设置任务周期和是否启用,点击确定即可成功添加计划任务

框架计划任务开发

框架计划任务开发和插件计划任务开发类似

定义任务模板

文件位置:niucloud-core/src/main/resources/core/loader/schedule.json

定义任务类

在 niucloud-core/src/main/java/com/niu/core/job/ 路径下新增任务类

基于 MIT 协议发布