青龙:定时任务管理平台介绍

2024-09-03 01:20

本文主要是介绍青龙:定时任务管理平台介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

平台概述

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:latestcontainer_name: qinglongports:- "5700:5700"volumes:- ./ql/config:/ql/config- ./ql/log:/ql/log- ./ql/db:/ql/dbrestart: 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部署青龙
  1. 安装Docker
    确保你的系统上已经安装了Docker。如果没有安装,可以通过以下命令安装:

    sudo apt-get update
    sudo apt-get install -y docker.io
    
  2. 拉取青龙镜像
    从Docker Hub拉取青龙镜像:

    docker pull whyour/qinglong:latest
    
  3. 运行青龙容器
    使用以下命令运行青龙容器:

    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
    
  4. 访问青龙面板
    打开浏览器,访问 http://<你的IP>:5700,即可进入青龙面板。

4.2 添加脚本

在青龙面板中,你可以添加各种脚本,包括Python、JavaScript、Shell和TypeScript脚本。以下是添加脚本的步骤:

  1. 登录青龙面板
    使用默认用户名和密码(admin/admin)登录青龙面板。

  2. 进入脚本管理页面
    在左侧导航栏中选择“脚本管理”。

  3. 添加新脚本
    点击“添加脚本”按钮,输入脚本名称和内容,选择脚本类型(Python、JavaScript、Shell或TypeScript),然后保存。

4.3 添加任务

添加任务是将脚本按照特定的时间规则执行的过程。以下是添加任务的步骤:

  1. 进入任务管理页面
    在左侧导航栏中选择“任务管理”。

  2. 添加新任务
    点击“添加任务”按钮,输入任务名称,选择要执行的脚本,设置任务的执行时间规则(使用Cron表达式),然后保存。

4.4 管理任务

管理任务包括启动、停止、编辑和删除任务。以下是管理任务的步骤:

  1. 进入任务管理页面
    在左侧导航栏中选择“任务管理”。

  2. 操作任务

    • 启动任务:点击任务列表中的“启动”按钮。
    • 停止任务:点击任务列表中的“停止”按钮。
    • 编辑任务:点击任务列表中的“编辑”按钮,修改任务的名称、脚本或执行时间规则,然后保存。
    • 删除任务:点击任务列表中的“删除”按钮,确认删除操作。

4.5 环境变量管理

环境变量管理是配置脚本运行所需的环境变量的过程。以下是环境变量管理的步骤:

  1. 进入环境变量管理页面
    在左侧导航栏中选择“环境变量管理”。

  2. 添加新环境变量
    点击“添加环境变量”按钮,输入变量名称和值,然后保存。

  3. 编辑或删除环境变量

    • 编辑环境变量:点击环境变量列表中的“编辑”按钮,修改变量名称或值,然后保存。
    • 删除环境变量:点击环境变量列表中的“删除”按钮,确认删除操作。

通过以上步骤,你可以轻松地在青龙定时任务管理平台上部署、添加、管理和配置脚本和任务。 ## 任务管理命令

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 开发环境设置

在开始使用青龙定时任务管理平台进行开发之前,首先需要设置一个合适的开发环境。以下是详细的步骤和建议:

安装必要的软件和工具
  1. Node.js 和 npm: 青龙平台主要使用 TypeScript 和 JavaScript 进行开发,因此需要安装 Node.js 和 npm。可以从 Node.js 官方网站 下载并安装。

  2. pnpm: 推荐使用 pnpm 作为包管理工具,它比 npm 更快且更节省磁盘空间。可以通过以下命令安装 pnpm:

    npm install -g pnpm
    
  3. 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许可证,青龙平台鼓励广泛的社区参与和贡献,同时也确保了用户在使用和分发软件时的灵活性和自由度。

这篇关于青龙:定时任务管理平台介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131619

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}