定时任务,是在日常开发需求中总会遇到的,我们往往会有一些简单的脚本工作,希望能够每小时或每天执行一次。当这类需求变得多起来后,这些零散的任务脚本就会变得难以管理,尤其是它们可能由不同的脚本语言编写而成。这时,我们就需要一个集中化的定时任务管理平台,来进行统一管理。
◆ 简介
QingLong(青龙),是 whyour 在 Github 上开源的定时任务管理面板,仓库位于 https://github.com/whyour/qinglong,目前版本为 v2.11.2。
QingLong提供了强大的定时任务管理功能,支持 Python3,JavaScript,Shell,TypeScript 等多语言。QingLong的功能包括:
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-stopped \
whyour/qinglong:latest
使用Docker-Compose部署:
mkdir qinglong
wget https://raw.githubusercontent.com/whyour/qinglong/master/docker-compose.yml
# 启动
docker-compose up -d
# 停止
docker-compose down
QingLong提供了丰富的命令进行控制,包括:
# 更新并重启青龙
ql update
# 运行自定义脚本extra.sh
ql extra
# 添加单个脚本文件
ql raw <file_url>
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch>
# 删除旧日志
ql rmlog <days>
# 启动tg-bot
ql 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>
命令的参数包括:
QingLong提供了GUI后台界面,能够十分方便可视化地管理任务的执行。
QingLong提供了强大的定时任务管理功能,支持 Python3,JavaScript,Shell,TypeScript 等多语言,支持在线管理脚本和日志等。其功能丰富,能够满足大部分需求场景,值得一试。
来源:
https://www.toutiao.com/a7061263778968519207/?log_from=94ca345c7bfa2_1645172951678
“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com
来都来了,走啥走,留个言呗~
IT大咖说 | 关于版权
由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!
感谢您对IT大咖说的热心支持!