定时任务
本项目中的定时任务采用的是灵活,可靠和快速的分布式任务重试和分布式任务调度平台 Snail Job
。
部署服务端(任务调度中心)
首先,单独部署一套任务调度平台的服务端(任务调度中心)环境,开发期间也可以直接使用本项目提供的 continew-admin-extension/continew-admin-job-server
服务端项目,方便快速开发使用,接下来就介绍下如何使用该服务端项目。
- 创建数据库
continew-admin-job
,用于任务调度中心数据存储使用。 - 修改
application-dev.yml
配置文件中的数据源配置。 - 启动 continew-admin-job-server 中的
JobServerApplication
入口程序。 - 启动完成后,
continew-admin-job
数据库会自动初始化相关数据表。 - 访问
http://localhost:8001/snail-job
,默认用户及密码:admin/admin
修改客户端
- 根据任务调度中心的实际使用情况,修改
continew-admin-webapi
下application-dev.yml
中的任务调度配置。 - 默认情况下,dev 环境的任务调度配置是被关闭的,以防止控制台一直打印连接错误,所以当你有需要使用时,需要启用任务调度相关配置。
yaml
snail-job:
enabled: true
编写定时任务
根据 Snail Job API 编写定时任务程序执行代码,更多种方式请查看其官方文档。
java
@Component
public class Test {
// name 属性就是创建任务时使用到的执行器名称
@JobExecutor(name = "test")
public void test() {
SnailJobLog.REMOTE.info("测试日志输出:{}", LocalDateTime.now());
}
}
启动或重新启动 Admin 项目。
创建定时任务
任务程序方面准备好之后,可访问 ContiNew Admin 项目创建及管理定时任务(目前尚不支持自动注册定时任务)。
打开 [任务调度/任务管理] 菜单,点击 [新增],在弹出的新增对话框中根据需要,依次配置好定时任务,如图所示:
创建好任务之后,可以启用定时任务或在对应任务记录后点击 [执行],此操作会立即下发一次执行请求。然后,可点击 [日志] 跳转到 [任务日志] 菜单页面,查看对应定时任务执行记录。
友情提示
你还可以直接在 Snail Job 的服务端界面创建定时任务,本项目目前是直接对接的 Snail Job API,所以可以说仅仅是页面不同,数据来源则是一致的。
参考资料
1.Snail Job 定时任务:https://snailjob.opensnail.com/docs/quickstart/abilityuse/schedule_task.html