调度平台&定时任务
一、介绍:
1.调度平台能够定时 自动调用我们的脚本或程序,如每周、每天、每隔几小时等;
2.jenkins也可以算一种调度平台 但不是特别好,为了统一化管理、调度还是用专门的任务调度平台比较好
为什么需要调度平台:
1,每个服务器各个服务下的任务管理混乱,生命周期无法统一协调管理
2,定时任务运行异常告警难以统一对接
3.随着时间增长,当定时任务达到几百上千的时候,定时任务就非常难以管理,线上跑了多个定时任务,每个定时任务什么时候运行,属于哪个应用和哪个开发负责等等问题变得很难解决。
4.某一部分需要手动执行,只需选择对应任务执行即可
常用的Cron表达式:
0 * * * * ? 每1分钟触发一次
*/5 * * * * 每5分钟触发一次
*/15 * * * * 每15分钟触发一次
0 0 * * * ? 每天每1小时触发一次
0 0 10 * * ? 每天10点触发一次
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 30 9 1 * ? 每月1号上午9点半
0 15 10 15 * ? 每月15日上午10:15触发
*/5 * * * * ? 每隔5秒执行一次
0 */1 * * * ? 每隔1分钟执行一次
0 0 5-15 * * ? 每天5-15点整点触发
0 0/3 * * * ? 每三分钟触发一次
0 0 0 1 * ? 每月1号凌晨执行一次
备注:
下面主要来介绍5k star调度平台
二、搭建5k star调度平台:
功能:
•支持多种脚本语言(python3、javaScript、shell、typescript)•支持在线管理脚本、环境变量、配置文件•支持在线查看任务日志•支持秒级任务设置•支持系统级通知•支持暗黑模式•支持手机端操作
安装方式1:
推荐大家使用docker进行安装,没有安装docker的朋友,先去安装docker环境
安装好了docker之后,拉取镜像:
docker pull whyour/qinglong:latest
把镜像拉下来后,运行镜像:
docker run -dit \ -v $PWD/ql/config:/ql/config \ -v $PWD/ql/log:/ql/log \ -v $PWD/ql/db:/ql/db \ -v $PWD/ql/repo:/ql/repo \ -v $PWD/ql/raw:/ql/raw \ -v $PWD/ql/data/scripts:/ql/data/scripts \ -v $PWD/ql/scripts:/ql/scripts \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:latest
解释:-dit后台交互终端运行,-v挂载目录到宿主机($PWD表示当前路径),-p表示映射端口,--name表示镜像名称
安装方式二:docker-compose 部署
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
mkdir qinglong wget https://raw.githubusercontent.com/whyour/qinglong/master/docker-compose.yml # 启动 docker-compose up -d # 停止 docker-compose down
安装成功后,我们可以打开http://localhost:5700 (注意这里的端口以你系统提示为准)
打开后是一个初始化系统的页面
我们还可以配置相关的消息提醒,支持钉钉、企业微信、邮件等形式的提醒。
成功设置之后,这就是我们的一个页面。
三、如何使用:
1.在平台编写脚本(脚本管理-》添加脚本-》编写脚本-》去定时任务执行脚本)
2.执行linux下的脚本
运行容器的时候需要挂载对应目录 -v $PWD/ql/data/scripts:/ql/data/scripts \
把脚本xxx.shell放在宿主机的ql/data/scripts,执行sh ./xxx.shell
把脚本xxx.shell放在宿主机的ql/data/scripts/chenwei1,执行sh chenwei1/xxx.shell
3.查看执行日志
相关连接:
https://www.csdn.net/tags/OtTagg5sMjU1NDktYmxvZwO0O0OO0O0O.html ..................Cron表达式
https://blog.csdn.net/niehida/article/details/88369954 ..................................................分布式任务调度平台,,小牛定时任务管理,, 调度平台2,,调度平台3
https://www.oschina.net/p/opencron ......................................................................opencron调度 ,,5k star调度 ,,开源定时任务管理系统gocron
https://blog.csdn.net/weixin_41341221/article/details/119349331 .......................python的flask-apscheduler定时任务
https://blog.csdn.net/lly1122334/article/details/115739576 .........................................Python轻量级定时任务库Schedule
docker pull xuxueli/xxl-job-admin:2.0.1下载失败可以常用2.2.0,,启动xxl-job-admin镜像需要修改版本和数据库名称(2.2.0和2.0.1不一样)
启动xxl-job-admin镜像命令:
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://宿主机ip:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=123456" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin xuxueli/xxl-job-admin:2.2.0
posted on 2022-06-23 10:45 chen_2987 阅读(1523) 评论(0) 编辑 收藏 举报