调度平台&定时任务
一、介绍:
1.调度平台能够定时 自动调用我们的脚本或程序,如每周、每天、每隔几小时等;
2.jenkins也可以算一种调度平台 但不是特别好,为了统一化管理、调度还是用专门的任务调度平台比较好
为什么需要调度平台:
1,每个服务器各个服务下的任务管理混乱,生命周期无法统一协调管理
2,定时任务运行异常告警难以统一对接
3.随着时间增长,当定时任务达到几百上千的时候,定时任务就非常难以管理,线上跑了多个定时任务,每个定时任务什么时候运行,属于哪个应用和哪个开发负责等等问题变得很难解决。
4.某一部分需要手动执行,只需选择对应任务执行即可
备注:
下面主要来介绍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