littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Python的Multi Job任务分发框架

项目简介

Multi Job是一个基于文件级别、轻量级、多进程、大规模、高效率实现Python程序脚本运行的任务分发并行框架。主要用于解决在多台服务器上进行大规模爬虫和数据分析时,服务器配置不一、不在同一云平台的问题。

项目的主要特性和功能

  • 部署简单:支持多机器高并发,可在多台机器上快速部署并运行任务,回传结果。
  • 自动化程序分发和版本控制:支持任务的版本比较和更新。
  • 任务全生命周期监控:包括任务的执行、失败、成功和回传状态。
  • 任务效率统计分析:自动计算任务的运行时间、成功率等指标。
  • 可视化前端:提供任务情况、机器情况等统计分析的展示和交互。
  • Client可控:可在前端直接控制Client的运行参数、启停等信息。
  • SDK支持:可加载SDK进行任务的更新、提交和查询等控制。

安装使用步骤

环境准备

安装Python环境,并安装必要的依赖库。 bash cd server; pip install -r requirements.txt cd client; pip install -r requirements.txt cd SDK; pip install -r requirements.txt

部署Server

运行server/run.py,启动Server服务。 bash cd server; python run.py

部署Client

运行client/controller.py,启动Client控制器。 bash cd client; python controller.py

添加任务类型

通过前端或SDK注册任务类型,并添加任务。 - 网页前端方法:访问http://127.0.0.1:5006/home,点击左上角“增加任务类型”。 - SDK方法: python from MultiJob import MultiJob client = MultiJob(base_url="http://127.0.0.1:5006") client.update_job_file_status(job_type="new_job")

执行任务

通过前端或SDK提交任务,并监控任务状态。 python job_id = client.insert_job(job_type="new_job", x=1, y=2, label="multi_job") result = client.get_job_detail(job_id) print(result)

结果查看

查看任务结果和统计信息。 - 网页前端:访问http://127.0.0.1:5006/home查看任务状态和统计信息。 - SDK方法: python result = client.get_job_summary(job_type="test_job", batch=-1) print(result)

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】