场景:在腾讯云服务器上安装xxl-job应用和mysql数据库。
xxl-job的下载地址:https://github.com/xuxueli/xxl-job/releases
安装mysql,安装教程见
MySQL5.7版本Liunx系统下安装_大宇进阶之路的博客-优快云博客
参考官方文档操作:
配置部署“调度中心”
修改配置文件中mysql的连接地址:
/xxl-job/xxl-job-admin/src/main/resources/application.properties
然后编译:
在target目录下是编译好的jar包,直接运行即可:
调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
访问的界面:
配置部署“执行器项目
修改配置文件:
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
编译后部署在服务器上
执行器部署后,online机器地址这里就不再是“无”。
新增任务:
调度日志查看:
可以通过“执行日志”查看到详细日志
部署shell脚本定时执行
任务以源码方式维护在调度中心,支持通过Web IDE在线更新,实时编译和生效,因此不需要指定。运行模式选择GLUE(Shell)就可以了,开发流程如下:
打开IDE编辑器
可以编辑你的shell,并且还支持版本回溯!
我写了一个test.sh脚本打印时间,在服务器上打印日志,可以看到每隔10s打印一次系统时间:
docker安装xxl-job
拉取镜像
docker pull xuxueli/xxl-job-admin
报错,需要指定xxl-job版本号,使用
docker pull xuxueli/xxl-job-admin:2.3.0
创建容器
把xxl-job.2.3.0的tables_xxl_job.sql文件拷贝到docker中
docker cp /home/mysql/tables_xxl_job.sql:mysql:/tables_xxl_job.sql
进入mysql容器执行脚本文件
修改配置文件application.properties,这里可以使用ip,但是通过容器关联我直接用mysql的容器名
创建xxl-job调度中心的容器
docker run -itd -p 8081:8080 --name=xxl-job-admin -v /root/xxl-job/application.properties:/application.properties -v /root/xxl-job/applogs:/data/applogs --link mysql:mysql -e PARAMS='--spring.config.loation=/application.properties' xuxueli/xxl-job-admin:2.3.0
xxl-job 执行器
修改地址和端口参数
编译后有Dockerfile
docker build -t xxl-job-executor .
创建容器
docker run -itd -p 19999:19999 --name=xxl-job-executor -v /home/xxl/xxl-job/xxl-job-executor/xxl-job-executor-sample-springboot-2.3.0.jar:/app.jar -v /home/xxl/xxl-job/xxl-job-executor/log:/home/xxl/xxl-job/xxl-job-executor/log xxl-job-executor
这样后期修改jar文件时,替换jar后只需要重启docker的这个容器即可