# 任务调度器
# 所需文件
文件描述 | 文件名 | 文件位置 |
---|---|---|
服务jar包 | taskscheduler.jar | /opt/task-scheduler |
jar 包配置文件 | application.properties | /opt/task-scheduler |
# 操作系统
Ubuntu 18.04
# 配置环境
- 更新linux安装程序源,安装 jre
apt update
apt upgrade
apt install default-jre
# jar 包配置文件
application.properties,需要放在jar包同目录下,或者同目录的config文件夹下,并不是所有的字段都需要,都有默认值,只需要把需要修改的放进来即可。
#端口号
server.port = 9999
#数据库配置,当前只支持 mysql
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.url = jdbc:mysql://localhost:3306/editor-task?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
#任务调度定时对执行服务的上次心跳时间进行检测,超过指定的时间,就认为执行服务已经失联
#系统启动后,多久开始检测,毫秒(默认10000)
check.execute.service.last.date.initial.delay = 10000
#检测的间隔时间,毫秒(默认20000)
check.execute.service.last.date.fixed.delay = 20000
#超过多久认为失效,毫秒(默认30000)
check.execute.service.last.date.expire.time = 30000
#任务调度定时对work状态的任务最后的活跃时间进行检测,超过指定的时间,就认为这个任务失效了,需要重新开始
#系统启动后,多久开始检测,毫秒(默认60000)
check.work.task.last.date.initial.delay = 60000
#检测的间隔时间,毫秒(默认60000)
check.work.task.last.date.fixed.delay = 60000
#超过多久认为失效,毫秒(默认600000)
check.work.task.last.date.expire.time = 600000
#给子服务发送失败的重试次数
max.send.error.count = 5
#回调失败的重试次数
max.callback.error.count = 3
#是否更新数据库中任务的详细的执行结果,execute_result_detail
update.task.detail.result.enabled = true
#是否更新数据库中任务的进度。
#如果改为false,需要将 check.work.task.last.date.expire.time 的值改为更长一点
#因为如果任务的执行时间很长,会导致检测到任务长时间没有更新,重新尝试发送
update.task.progress.enabled = true
# 启动服务
切换到jar包的目录下
- 启动 java 服务
nohup java -jar taskscheduler.jar >/dev/null 2>&1 &
# 日志说明
会产生1个日志目录,在/opt/task-scheduler 目录下。 logs 是Java程序产生的日志,每天一个日志文件,只保留最近30天的日志。