平台概述
1.1 功能介绍
青龙定时任务管理平台是一个功能强大的自动化任务调度系统,它允许用户通过简单的配置和命令来管理各种定时任务。该平台的核心功能包括:
- 任务调度:支持创建、编辑、删除定时任务,并能够设置任务的执行时间、频率和优先级。
- 脚本管理:用户可以上传和管理多种编程语言编写的脚本,如Python3、JavaScript、Shell和Typescript。
- 在线管理:提供一个直观的Web界面,用户可以通过该界面进行任务的添加、修改和监控。
- 环境变量管理:支持设置和管理环境变量,这些变量可以在脚本中使用,增加了脚本的灵活性和安全性。
- 日志查看:系统自动记录任务执行的日志,用户可以实时查看任务的执行情况和错误信息。
- 秒级定时任务:支持精确到秒的定时任务设置,满足高精度任务调度的需求。
1.2 支持的脚本语言
青龙定时任务管理平台支持多种编程语言编写的脚本,这使得它能够适应不同的开发环境和需求。以下是平台支持的主要脚本语言:
- Python3:广泛使用的编程语言,适用于数据处理、自动化脚本等多种场景。
- JavaScript:主要用于前端开发,但在服务器端(如Node.js)也有广泛应用。
- Shell:操作系统级别的脚本语言,特别适合于系统管理和自动化任务。
- Typescript:JavaScript的超集,增加了静态类型检查,适合大型项目的开发。
这些语言的支持使得青龙平台能够覆盖从简单的系统管理任务到复杂的数据处理和Web应用开发的广泛需求。用户可以根据自己的技能和项目需求选择合适的脚本语言来编写任务脚本。 ## 平台特点
青龙定时任务管理平台以其强大的功能和灵活性,在自动化任务管理领域中脱颖而出。以下是青龙平台的一些核心特点,这些特点使得它在处理复杂和多样化的定时任务时表现出色。
2.1 在线管理脚本
青龙平台支持在线管理脚本,这意味着用户可以直接在平台上编辑、更新和删除脚本文件,无需在本地进行操作。这种在线管理方式极大地简化了脚本维护的流程,提高了效率。
- 编辑功能:用户可以在青龙平台的界面上直接编辑脚本,支持语法高亮和自动补全,使得编写脚本更加便捷。
- 版本控制:平台提供脚本版本管理功能,用户可以查看脚本的历史版本,并进行回滚操作,确保脚本的稳定性和可追溯性。
- 权限管理:青龙平台支持细粒度的权限控制,管理员可以根据需要设置不同用户的编辑权限,确保脚本的安全性。
2.2 环境变量管理
环境变量是脚本运行时的重要配置,青龙平台提供了强大的环境变量管理功能,用户可以在线添加、修改和删除环境变量。
- 集中管理:所有环境变量集中存储在平台中,用户可以方便地查看和管理。
- 安全保护:敏感的环境变量(如密码、密钥等)可以进行加密存储,确保数据安全。
- 动态更新:环境变量支持动态更新,用户可以在不重启任务的情况下更新变量值,提高系统的灵活性和响应速度。
2.3 日志查看功能
日志是排查问题和监控任务执行情况的重要工具,青龙平台提供了详细的日志查看功能,用户可以实时查看任务的执行日志。
- 实时日志:任务执行过程中的日志可以实时显示在平台上,用户可以即时了解任务的执行情况。
- 日志过滤:平台支持根据时间、关键词等条件过滤日志,帮助用户快速定位问题。
- 日志归档:日志可以自动归档,用户可以设置日志的保留时间,超过时间的日志会自动删除,节省存储空间。
2.4 秒级定时任务
青龙平台支持秒级定时任务设置,这意味着用户可以精确到秒来设置任务的执行时间,满足高精度定时任务的需求。
- 精确调度:用户可以设置任务在特定的秒数执行,如每分钟的第10秒、第20秒等。
- 灵活配置:支持多种定时任务配置方式,包括固定时间、间隔时间、Cron表达式等。
- 并发控制:平台支持任务的并发执行,用户可以设置任务的并发数,确保系统资源的合理利用。
通过这些特点,青龙平台为用户提供了一个高效、灵活且易于管理的定时任务管理环境,无论是个人开发者还是企业用户,都能从中获得极大的便利和价值。 ## 部署方式
3.1 通过Docker部署
Docker是一种容器化技术,能够提供一致的运行环境,使得应用程序在不同的环境中都能稳定运行。青龙定时任务管理平台支持通过Docker进行部署,这种方式具有高度的灵活性和可移植性。
3.1.1 安装Docker
在开始部署之前,首先需要在目标机器上安装Docker。以下是在不同操作系统上安装Docker的简要步骤:
-
Ubuntu:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
-
CentOS:
sudo yum install -y docker sudo systemctl start docker sudo systemctl enable docker
-
Windows和macOS:
可以从Docker官方网站下载Docker Desktop安装包进行安装。
3.1.2 拉取青龙镜像
安装好Docker后,接下来需要从Docker Hub上拉取青龙镜像:
docker pull whyour/qinglong:latest
3.1.3 运行青龙容器
拉取镜像后,可以通过以下命令运行青龙容器:
docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/db:/ql/db \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:latest
上述命令中,-v
参数用于挂载配置、日志和数据库目录,-p
参数用于映射端口,--name
参数用于指定容器名称,--restart unless-stopped
参数用于设置容器自动重启。
3.2 本机部署
本机部署适用于开发和测试环境,可以直接在本地机器上安装和运行青龙定时任务管理平台。以下是本机部署的步骤:
3.2.1 安装依赖
确保本地机器上已安装Python3、Node.js等必要的依赖:
# 安装Python3
sudo apt-get install python3
# 安装Node.js
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
3.2.2 克隆项目
从GitHub或GitCode克隆青龙定时任务管理平台的项目代码:
git clone https://gitcode.com/gh_mirrors/qi/qinglong.git
cd qinglong
3.2.3 安装项目依赖
进入项目目录后,安装项目所需的依赖:
npm install
3.2.4 启动项目
依赖安装完成后,启动青龙定时任务管理平台:
npm run start
3.3 Docker-Compose部署
Docker-Compose是一个用于定义和运行多容器Docker应用程序的工具。通过编写一个docker-compose.yml
文件,可以简化青龙定时任务管理平台的部署过程。
3.3.1 安装Docker-Compose
首先,安装Docker-Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3.3.2 编写docker-compose.yml文件
创建一个docker-compose.yml
文件,内容如下:
version: '3'
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
ports:
- "5700:5700"
volumes:
- ./ql/config:/ql/config
- ./ql/log:/ql/log
- ./ql/db:/ql/db
restart: always
3.3.3 启动服务
在docker-compose.yml
文件所在目录下,运行以下命令启动服务:
docker-compose up -d
3.4 Podman部署
Podman是一个与Docker兼容的容器管理工具,可以在没有Docker守护进程的情况下运行容器。以下是使用Podman部署青龙定时任务管理平台的步骤:
3.4.1 安装Podman
首先,安装Podman:
sudo apt-get update
sudo apt-get install -y podman
3.4.2 拉取青龙镜像
使用Podman拉取青龙镜像:
podman pull whyour/qinglong:latest
3.4.3 运行青龙容器
使用Podman运行青龙容器:
podman run -d --name qinglong -p 5700:5700 -v /path/to/your/qinglong:/ql/data whyour/qinglong:latest
通过以上步骤,您可以在不同的环境中成功部署青龙定时任务管理平台,开始管理和执行定时任务。 ## 使用方法
4.1 部署青龙
部署青龙定时任务管理平台是使用该平台的第一步。青龙支持多种部署方式,包括Docker部署、本机部署、Docker-Compose部署和Podman部署。以下是使用Docker部署青龙的详细步骤:
通过Docker部署青龙
-
安装Docker:
确保你的系统上已经安装了Docker。如果没有安装,可以通过以下命令安装:sudo apt-get update sudo apt-get install -y docker.io
-
拉取青龙镜像:
从Docker Hub拉取青龙镜像:docker pull whyour/qinglong:latest
-
运行青龙容器:
使用以下命令运行青龙容器:docker run -dit \ --name qinglong \ --hostname qinglong \ --restart always \ -p 5700:5700 \ -v /your/path/config:/ql/config \ -v /your/path/log:/ql/log \ -v /your/path/db:/ql/db \ -v /your/path/repo:/ql/repo \ whyour/qinglong:latest
-
访问青龙面板:
打开浏览器,访问http://<你的IP>:5700
,即可进入青龙面板。
4.2 添加脚本
在青龙面板中,你可以添加各种脚本,包括Python、JavaScript、Shell和TypeScript脚本。以下是添加脚本的步骤:
-
登录青龙面板:
使用默认用户名和密码(admin/admin)登录青龙面板。 -
进入脚本管理页面:
在左侧导航栏中选择“脚本管理”。 -
添加新脚本:
点击“添加脚本”按钮,输入脚本名称和内容,选择脚本类型(Python、JavaScript、Shell或TypeScript),然后保存。
4.3 添加任务
添加任务是将脚本按照特定的时间规则执行的过程。以下是添加任务的步骤:
-
进入任务管理页面:
在左侧导航栏中选择“任务管理”。 -
添加新任务:
点击“添加任务”按钮,输入任务名称,选择要执行的脚本,设置任务的执行时间规则(使用Cron表达式),然后保存。
4.4 管理任务
管理任务包括启动、停止、编辑和删除任务。以下是管理任务的步骤:
-
进入任务管理页面:
在左侧导航栏中选择“任务管理”。 -
操作任务:
- 启动任务:点击任务列表中的“启动”按钮。
- 停止任务:点击任务列表中的“停止”按钮。
- 编辑任务:点击任务列表中的“编辑”按钮,修改任务的名称、脚本或执行时间规则,然后保存。
- 删除任务:点击任务列表中的“删除”按钮,确认删除操作。
4.5 环境变量管理
环境变量管理是配置脚本运行所需的环境变量的过程。以下是环境变量管理的步骤:
-
进入环境变量管理页面:
在左侧导航栏中选择“环境变量管理”。 -
添加新环境变量:
点击“添加环境变量”按钮,输入变量名称和值,然后保存。 -
编辑或删除环境变量:
- 编辑环境变量:点击环境变量列表中的“编辑”按钮,修改变量名称或值,然后保存。
- 删除环境变量:点击环境变量列表中的“删除”按钮,确认删除操作。
通过以上步骤,你可以轻松地在青龙定时任务管理平台上部署、添加、管理和配置脚本和任务。 ## 任务管理命令
5.1 任务执行
在青龙定时任务管理平台中,任务执行是核心功能之一。用户可以通过命令行或Web界面来触发任务的执行。以下是一些常用的任务执行命令:
-
立即执行任务:
ql run <task_id>
其中,
<task_id>
是任务的唯一标识符。通过这个命令,用户可以手动触发指定任务的执行。 -
查看任务状态:
ql status <task_id>
这个命令可以查看指定任务的当前状态,包括是否正在运行、上次运行时间等信息。
-
批量执行任务:
ql run -a
使用
-a
参数可以批量执行所有已配置的任务。
5.2 任务超时设置
为了防止任务无限期运行导致资源浪费,青龙平台支持任务超时设置。用户可以在配置任务时指定超时时间,确保任务在规定时间内完成。
-
设置任务超时:
ql config set <task_id> --timeout <时间>
其中,
<时间>
是以秒为单位的超时时间。 -
查看任务超时设置:
ql config get <task_id> --timeout
5.3 更新与重启
青龙平台支持在线更新和重启,确保平台和任务始终运行在最新状态。
-
更新平台:
ql update
该命令会从远程仓库拉取最新代码并更新平台。
-
重启平台:
ql restart
重启平台可以应用最新的配置和更新。
5.4 自定义脚本运行
青龙平台允许用户运行自定义脚本,以满足特定的任务需求。
-
运行自定义脚本:
ql script run <脚本路径>
其中,
<脚本路径>
是脚本在服务器上的绝对路径。 -
设置自定义脚本环境变量:
ql script env set <脚本路径> --key <键> --value <值>
通过设置环境变量,可以为自定义脚本提供必要的运行参数。
5.5 日志管理
日志管理是任务管理的重要组成部分,青龙平台提供了丰富的日志管理功能,帮助用户监控和调试任务。
-
查看任务日志:
ql log <任务ID>
该命令会显示指定任务的运行日志。
-
清理日志:
ql log clean <任务ID>
清理指定任务的日志文件,释放存储空间。
-
设置日志保留时间:
ql config set <任务ID> --log-retention <天数>
通过设置日志保留时间,可以控制日志文件的存储周期。
通过以上命令,用户可以高效地管理和执行任务,确保定时任务的稳定运行和及时更新。青龙平台的任务管理命令为用户提供了强大的工具,以满足各种复杂的任务需求。 ## 开发与配置
6.1 开发环境设置
在开始使用青龙定时任务管理平台进行开发之前,首先需要设置一个合适的开发环境。以下是详细的步骤和建议:
安装必要的软件和工具
-
Node.js 和 npm: 青龙平台主要使用 TypeScript 和 JavaScript 进行开发,因此需要安装 Node.js 和 npm。可以从 Node.js 官方网站 下载并安装。
-
pnpm: 推荐使用 pnpm 作为包管理工具,它比 npm 更快且更节省磁盘空间。可以通过以下命令安装 pnpm:
npm install -g pnpm
-
Git: 用于版本控制和代码管理。可以从 Git 官方网站 下载并安装。
克隆项目仓库
使用 Git 克隆青龙平台的仓库到本地:
git clone git@github.com:whyour/qinglong.git
cd qinglong
安装依赖
在项目根目录下,使用 pnpm 安装所有依赖:
pnpm install
配置开发环境
复制环境配置文件并进行必要的修改:
cp .env.example .env
编辑 .env
文件,根据需要配置环境变量,例如数据库连接、端口等。
启动开发服务器
使用以下命令启动开发服务器:
pnpm start
这将启动一个本地服务器,通常在 http://localhost:5700
上运行。
6.2 环境变量配置
环境变量在青龙平台中扮演着重要的角色,它们用于配置各种服务和功能。以下是一些关键的环境变量及其用途:
基本环境变量
QL_PORT
: 指定青龙平台运行的端口,默认为5700
。QL_DATA_DIR
: 指定数据存储的目录,默认为./ql/data
。
数据库配置
DB_HOST
: 数据库主机地址。DB_PORT
: 数据库端口。DB_USER
: 数据库用户名。DB_PASSWORD
: 数据库密码。DB_NAME
: 数据库名称。
其他配置
LOG_LEVEL
: 日志级别,可选值为debug
,info
,warn
,error
。TZ
: 时区设置,例如Asia/Shanghai
。
6.3 脚本与仓库管理
青龙平台支持多种脚本语言,包括 Python3、JavaScript、Shell 和 TypeScript。以下是如何管理和使用这些脚本的详细步骤:
添加脚本
可以通过以下命令添加单个脚本文件:
ql raw <file_url>
其中 <file_url>
是脚本的 URL 地址。
添加仓库
可以通过以下命令添加整个仓库:
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions>
<repo_url>
: 仓库的 URL 地址。<whitelist>
: 拉取仓库时的白名单,即需要拉取的脚本的路径包含的字符串。<blacklist>
: 拉取仓库时的黑名单,即需要拉取的脚本的路径不包含的字符串。<dependence>
: 拉取仓库需要的依赖文件。<branch>
: 拉取仓库的分支。<extensions>
: 拉取仓库的文件后缀。
管理脚本
可以通过以下命令管理脚本:
ql update
: 更新并重启青龙平台。ql extra
: 运行自定义脚本extra.sh
。ql rmlog <days>
: 删除旧日志,保留指定天数的日志。
通过以上步骤,开发者可以有效地设置开发环境、配置环境变量以及管理脚本和仓库,从而充分利用青龙定时任务管理平台的强大功能。 ## 社区与支持
7.1 开源协议
青龙定时任务管理平台遵循MIT许可证,这是一种非常宽松的自由软件许可证。MIT许可证允许用户自由使用、复制、修改、合并、出版发行、散布、再授权及销售软件及其副本。使用MIT许可证的项目必须在其源代码和二进制发布中包含版权声明和许可声明。
MIT许可证的主要特点包括:
- 简洁明了:许可证文本简短,易于理解和实施。
- 无限制:用户可以自由地使用软件,包括在商业环境中。
- 保留版权声明:在分发软件时,必须保留原始的版权声明和许可声明。
通过采用MIT许可证,青龙平台鼓励广泛的社区参与和贡献,同时也确保了用户在使用和分发软件时的灵活性和自由度。