查看原文
其他

支持Python3、JavaScript、Shell、TypeScript 的定时任务管理面板项目

TJ TJ君 2022-05-20

大家好,我是TJ

关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍

TJ君将之前发过的各种项目及工具进行了整理,收录到了GitHub项目,欢迎各位小伙伴光临Star,地址如下:https://github.com/Wechat-TJ/TJ-WORLD-FORU

愉快的假期总是一闪而逝,一眨眼已经是假期的最后一天,希望假期之后疫情能快点过去,大家也能过上正常幸福的生活。

今天TJ君要给大家分享的是一个支持Python3、JavaScript、Shell、TypeScript 的定时任务管理面板项目

有对定时任务感兴趣的小伙伴可以来瞅瞅,项目具备如下功能:

  • 支持多种脚本语言(python3、javaScript、shell、typescript)
  • 支持在线管理脚本、环境变量、配置文件
  • 支持在线查看任务日志
  • 支持秒级任务设置
  • 支持系统级通知
  • 支持暗黑模式
  • 支持手机端操作

目前项目支持三种部署方式,分别是podman 部署、docker 部署、docker-compose 部署

TJ君来一一跟大家说说不同的部署方式:

podman 部署

1、podman 安装

https://podman.io/getting-started/installation

2、启动容器

podman run -dit \
  --network bridge \
  -v $PWD/ql:/ql/data \
  -p 5700:5700 \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  docker.io/whyour/qinglong:latest

docker 部署

1、docker 安装

sudo curl -sSL get.docker.com | sh

2、启动容器

docker run -dit \
  -v $PWD/ql:/ql/data \
  -p 5700:5700 \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:latest

docker-compose 部署

1、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

2、启动容器

mkdir qinglong
wget https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml

# 启动
docker-compose up -d
# 停止
docker-compose down

对于如何使用有这些内置命令:

# 更新并重启青龙
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>         

对于一些参数的解释如下:

  • file_url: 脚本地址
  • repo_url: 仓库地址
  • whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串
  • blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串
  • dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响
  • branch: 拉取仓库的分支
  • days: 需要保留的日志的天数
  • file_path: 任务执行时的文件路径
  • env_name: 任务执行时需要并发或者指定时的环境变量名称
  • account_number: 任务执行时指定某个环境变量需要执行的账号序号

最后,可以通过下面这个方式来使用:

$ git clone git@github.com:whyour/qinglong.git
cd qinglong
$ cp .env.example .env
# 推荐使用 pnpm https://pnpm.io/zh/installation
$ npm install -g pnpm
$ pnpm install
$ pnpm start

访问这个地址就可以啦, http://127.0.0.1:5700

好啦,想试试的小伙伴,赶紧来看看吧,项目地址如下:

点击下方卡片,关注公众号“TJ君

回复“定时任务2022”,获取仓库地址

关注我,每天了解一个牛x、好用、有趣的东东


往期推荐 


安卓上简单好用的开源漫画阅读器

轻巧可用的开源Redis可视化工具

Arthas,阿里开源的Java诊断利器


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存