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

【源码】基于Python和Flask的任务流程管理系统

项目简介

本项目是基于Python和Flask框架的任务流程管理系统,可帮助用户通过图形化界面和自动化脚本管理复杂的任务流程。系统支持自定义任务流程图、DAG检测、批量创建数据库表、执行Bash脚本等功能,还能通过Web界面展示任务流程的执行状态和历史轨迹。

项目的主要特性和功能

  • 批量创建数据库表:依据模型自动生成数据库表结构。
  • 自定义任务流程图:用户能通过API或Web界面自定义任务流程的顶点和边。
  • DAG检测:采用Kahn算法进行DAG检测,保证任务流程无环。
  • Bash脚本执行:支持在任务流程顶点执行自定义Bash脚本,并自动填充参数。
  • 自动跳转:任务流程执行完毕后自动跳转到下一个顶点。
  • 历史轨迹查看:可查看任务流程的执行历史轨迹。
  • Web图形展示:运用Flask、Jinja2、JQuery和Apache ECharts实现任务流程的图形化展示。

安装使用步骤

假设用户已下载本项目的源码文件。 1. 复制项目:确保项目源码已下载到本地,进入项目目录。 bash cd Pipeline 2. 安装依赖:安装项目所需的Python依赖包。 bash pip install -r requirements.txt 3. 初始化数据库:在项目根目录下运行以下命令,初始化数据库并创建表结构。 python from pipeline.model import db db.drop_all() # 清空数据库 db.create_all() # 按照模型创建表 4. 创建任务流程图:使用提供的API创建任务流程图。示例如下: ```python from pipeline.service import create_graph, add_vertex, add_edge, check_graph_all import json

g = create_graph('test1') # 成功则返回一个Graph对象 input = {"ip": {"type": "str", "required": True, "default": '127.0.0.1'}} script = {'script': 'echo "test1.A"\nping {ip} -c 2'} a = add_vertex(g, 'A', json.dumps(input), json.dumps(script)) b = add_vertex(g, 'B', None, '{"script":"echo B"}') c = add_vertex(g, 'C', None, '{"script":"echo C"}') d = add_vertex(g, 'D', None, '{"script":"echo D"}') ab = add_edge(g, a, b) ac = add_edge(g, a, c) cb = add_edge(g, c, b) bd = add_edge(g, b, d) 5. **启动任务流程**:启动任务流程并查看执行结果。python from pipeline.app import start_pipeline start_pipeline(g.id) # 启动指定的任务流程 6. **启动Web界面**:启动Web服务器,通过浏览器查看任务流程的图形化展示。python from web import web if name == 'main': web.run(host='0.0.0.0', port=5000) `` 7. **访问Web界面**:在浏览器中访问http://localhost:5000`,查看任务流程的执行状态和历史轨迹。

通过以上步骤,即可使用本系统管理和执行复杂的任务流程。

下载地址

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