TaskPyro:Python任务调度与爬虫管理轻量级平台介绍

前言

推荐一款本人在使用的Python爬虫管理平台,亲测不错!!!

TaskPyro 是什么?

TaskPyro官方文档

TaskPyro 是一个轻量级的 Python 任务调度平台,专注于提供简单易用的任务管理和爬虫调度解决方案。它能够帮助您轻松管理和调度 Python 任务,特别适合需要定时执行的爬虫任务和数据处理任务。


开发背景

在当今数字化时代,自动化数据采集和处理变得越来越重要。然而,现有的任务调度解决方案要么过于复杂,要么缺乏针对 Python 环境的特定优化。TaskPyro 正是为了解决这些痛点而诞生的,旨在为 Python 开发者提供一个简单、高效、可靠的任务调度平台。

为什么选择TaskPyro?

  • 🚀 轻量级设计:占用资源小,运行高效
  • 🔄 灵活调度:支持多种调度方式,满足各类需求
  • 🐍 Python环境管理:自由分配不同的Python虚拟环境
  • 📊 可视化监控:直观的任务运行状态展示
  • 🔒 安全可靠:完善的异常处理和错误恢复机制
  • 适用人群

    TaskPyro 特别适合以下用户群体:

  • 🔍 数据工程师:需要定期执行数据采集、清洗和处理任务
  • 🕷️ 爬虫开发者:需要管理和调度多个爬虫任务
  • 📊 数据分析师:需要自动化数据分析流程
  • 🛠️ 系统运维人员:需要执行定时系统维护任务
  • 🚀 创业团队:需要一个轻量级但功能完整的任务调度解决方案
  • 使用流程

  • 先配置Python环境
  • 创建项目
  • 创建定时任务
  • 核心功能

    TaskPyro 提供了一系列强大的功能,帮助您高效管理 Python 任务:

  • 📅 灵活的任务调度

  • 支持 Cron 表达式定时调度
  • 支持固定间隔调度
  • 支持一次性任务执行
  • 支持任务依赖关系配置
  • 🔧 Python 环境管理

  • 支持多个 Python 虚拟环境
  • 环境隔离,避免依赖冲突
  • 支持 pip 包管理
  • 🕷️ 爬虫框架支持

  • 支持 Scrapy 等主流爬虫框架
  • 支持 Selenium、Playwright、DrissionPage 等浏览器自动化工具
  • 提供完整的框架运行环境配置
  • 📊 任务监控与管理

  • 实时任务状态监控
  • 详细的执行日志记录
  • 任务执行统计分析
  • 异常通知与告警
  • 💼 用户友好

  • 直观的 Web 操作界面
  • 详细的使用文档
  • 简单的部署流程
  • 完善的错误处理机制
  • 项目截图

    仪表盘仪表盘 项目管理


    Python虚拟环境


    任务管理




    Docker 安装

    TaskPyro 提供了基于 Docker 的快速部署方案,让您能够轻松地在任何支持 Docker 的环境中运行。

    前置条件

    在开始安装之前,请确保您的系统已经安装了以下软件:

    Docker 安装

  • Docker(本人使用的版本为 26.10.0,低于此版本安装可能会存在问题,建议删除旧版本,升级新版本docker)
  • Docker Compose 安装

  • Docker Compose(版本 2.0.0 或更高)
  • 注意:如果您使用的是 Docker 26.1.0 版本,建议安装最新版本的 Docker Compose 以确保兼容性
  • 安装步骤

    0. 拉取代码

    gitub

    git clone https://github.com/taskPyroer/taskpyro.git
    

    gitee

    git clone https://gitee.com/hu_yupeng123/taskpyrodocker.git
    

    可以直接拉取上面的代码,或者按下面的1、2、3步骤创建文件

    1. 创建项目目录

    mkdir taskpyro
    cd taskpyro
    

    2. 创建 docker-compose.yml 文件

    在项目目录中创建 docker-compose.yml 文件,内容如下:

    version: '3'
    
    services:
      frontend:
        image: crpi-7ub5pdu5y0ps1uyh.cn-hangzhou.personal.cr.aliyuncs.com/taskpyro/taskpyro-frontend:1.0
        ports:
          - "${FRONTEND_PORT:-7789}:${FRONTEND_PORT:-7789}"
        environment:
          - PORT=${FRONTEND_PORT:-7789}
          - SERVER_NAME=${SERVER_NAME:-localhost}
          - BACKEND_PORT=${BACKEND_PORT:-8000}
          - API_URL=http://${SERVER_NAME}:${BACKEND_PORT:-8000}
          - TZ=Asia/Shanghai
        env_file:
          - .env
        depends_on:
          - api
    
      api:
        image: crpi-7ub5pdu5y0ps1uyh.cn-hangzhou.personal.cr.aliyuncs.com/taskpyro/taskpyro-api:1.0
        ports:
          - "${BACKEND_PORT:-8000}:${BACKEND_PORT:-8000}"
        environment:
          - PORT=${BACKEND_PORT:-8000}
          - PYTHONPATH=/app
          - CORS_ORIGINS=http://localhost:${FRONTEND_PORT:-7789},http://127.0.0.1:${FRONTEND_PORT:-7789}
          - TZ=Asia/Shanghai
          - WORKERS=${WORKERS:-1}
        volumes:
          - /opt/taskpyrodata/static:/app/../static
          - /opt/taskpyrodata/logs:/app/../logs
          - /opt/taskpyrodata/data:/app/data
        env_file:
          - .env
        init: true
        restart: unless-stopped
    

    3. 创建 .env 文件

    在项目目录中创建 .env 文件,用于配置环境变量:

    FRONTEND_PORT=8080
    BACKEND_PORT=9000
    SERVER_NAME=localhost
    WORKERS=1
    

    4. 启动服务

    docker-compose up -d
    

    启动后直接在浏览器中访问至 http://<your_ip>:8080

    安装注意事项

    1. 数据持久化

    2. 数据文件会保存在 /opt/taskpyrodata 目录下,包含以下子目录:
    3. static:静态资源文件
    4. logs:系统日志文件
    5. data:应用数据文件
    6. 建议定期备份这些目录,特别是 data 目录
    7. 环境变量配置

    8. .env 文件中配置以下必要参数:
    9. FRONTEND_PORT:前端服务端口(默认8080)
    10. BACKEND_PORT:后端服务端口(默认9000)
    11. SERVER_NAME:服务器域名或IP(默认localhost,不用修改)
    12. WORKERS:后端工作进程数(默认1,不用修改)
    13. 确保 SERVER_NAME 配置正确,否则可能导致API调用失败
    14. 端口配置

    15. 前端服务默认使用8080端口
    16. 后端服务默认使用9000端口
    17. 确保这些端口未被其他服务占用
    18. 如需修改端口,只需要更新 .env 文件中的配置
    19. 容器资源配置

    20. 建议为容器预留足够的CPU和内存资源
    21. 可通过Docker的资源限制参数进行调整
    22. 监控容器资源使用情况,适时调整配置

    常见问题

    1. 前端服务无法访问

    2. 检查 FRONTEND_PORT 端口是否被占用
    3. 确认前端容器是否正常启动:docker-compose ps frontend
    4. 查看前端容器日志:docker-compose logs frontend
    5. 验证 SERVER_NAME 配置是否正确
    6. 后端API连接失败

    7. 检查 BACKEND_PORT 端口是否被占用
    8. 确认后端容器是否正常启动:docker-compose ps api
    9. 查看后端容器日志:docker-compose logs api
    10. 验证 CORS_ORIGINS 配置是否包含前端访问地址
    11. 容器启动失败

    12. 检查 Docker 服务状态:systemctl status docker
    13. 确认 docker-compose.yml 文件格式正确
    14. 验证环境变量配置是否完整
    15. 检查数据目录权限:ls -l /opt/taskpyrodata
    16. 数据持久化问题

    17. 确保 /opt/taskpyrodata 目录存在且有正确的权限
    18. 检查磁盘空间是否充足
    19. 定期清理日志文件避免空间占用过大
    20. 建议配置日志轮转策略
    21. 资源配置

    22. 根据实际需求调整 Docker 容器的资源限制
    23. 监控服务器资源使用情况,适时调整配置

    升级说明

    要升级到新版本,请执行以下步骤:

    # 拉取最新镜像
    docker-compose pull
    
    # 重启服务
    docker-compose up -d
    

    更详细的文档

    https://docs.taskpyro.cn/

    作者:Data 实验室

    物联沃分享整理
    物联沃-IOTWORD物联网 » TaskPyro:Python任务调度与爬虫管理轻量级平台介绍

    发表回复