项目简介
本项目是基于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】