# 任务调度器

# 所需文件

文件描述 文件名 文件位置
服务jar包 taskscheduler.jar /opt/task-scheduler
jar 包配置文件 application.properties /opt/task-scheduler

# 操作系统

Ubuntu 18.04

# 配置环境

  1. 更新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包的目录下

  1. 启动 java 服务
nohup java -jar taskscheduler.jar >/dev/null 2>&1 &

# 日志说明

会产生1个日志目录,在/opt/task-scheduler 目录下。 logs 是Java程序产生的日志,每天一个日志文件,只保留最近30天的日志。