调度平台&定时任务


一、介绍:

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