QingLong - 强大的定时任务管理面板

定时任务,是在日常开发需求中总会遇到的,我们往往会有一些简单的脚本工作,希望能够每小时或每天执行一次 。当这类需求变得多起来后,这些零散的任务脚本就会变得难以管理,尤其是它们可能由不同的脚本语言编写而成 。这时,我们就需要一个集中化的定时任务管理平台,来进行统一管理 。
 

QingLong - 强大的定时任务管理面板

文章插图
 
 
简介QingLong(青龙),是 whyour 在 Github 上开源的定时任务管理面板,仓库位于
https://github.com/whyour/qinglong,目前版本为 v2.11.2 。
QingLong提供了强大的定时任务管理功能,支持 Python3,JAVAScript,Shell,TypeScript 等多语言 。QingLong的功能包括:
  • 支持多种脚本语言(Python3,JavaScript,Shell,TypeScript)
  • 支持在线管理脚本、环境变量、配置文件
  • 支持在线查看任务日志
  • 支持秒级任务设置
  • 支持系统级通知
  • 支持暗黑模式
  • 支持手机端操作
 
使用QingLong 推荐使用 Docker 或 Docker-Compose 部署 。使用Docker部署:
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/scripts:/ql/scripts-p 5700:5700--name qinglong--hostname qinglong--restart unless-stoppedwhyour/qinglong:latest使用Docker-Compose部署:
mkdir qinglongwget https://raw.githubusercontent.com/whyour/qinglong/master/docker-compose.yml# 启动docker-compose up -d# 停止docker-compose down【QingLong - 强大的定时任务管理面板】 
QingLong提供了丰富的命令进行控制,包括:
# 更新并重启青龙ql update# 运行自定义脚本extra.shql extra# 添加单个脚本文件ql raw <file_url># 添加单个仓库的指定脚本ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch># 删除旧日志ql rmlog <days># 启动tg-botql bot# 检测青龙环境并修复ql check# 重置登录错误次数ql resetlet# 禁用两步登录ql resettfa# 依次执行,如果设置了随机延迟,将随机延迟一定秒数task <file_path># 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中task <file_path> now# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行task <file_path> conc <env_name> <account_number>(可选的) # 指定账号执行,无论是否设置了随机延迟,均立即运行 task <file_path> desi <env_name> <account_number>命令的参数包括:
  • file_url: 脚本地址
  • repo_url: 仓库地址
  • whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串
  • blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串
  • dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响
  • branch: 拉取仓库的分支
  • days: 需要保留的日志的天数
  • file_path: 任务执行时的文件路径
  • env_name: 任务执行时需要并发或者指定时的环境变量名称
  • account_number: 任务执行时指定某个环境变量需要执行的账号序号
 
QingLong提供了GUI后台界面,能够十分方便可视化地管理任务的执行 。
QingLong - 强大的定时任务管理面板

文章插图
 
 
总结QingLong提供了强大的定时任务管理功能,支持 Python3,JavaScript,Shell,TypeScript 等多语言,支持在线管理脚本和日志等 。其功能丰富,能够满足大部分需求场景,值得一试 。




    推荐阅读