基于python的工作流调度系统产品系统

我要开发同款
原码天空2026年01月08日
26阅读

技术信息

语言技术
PythonShell
系统类型
Linux
行业分类
低代码企业服务

作品详情

行业场景

原有基于crontab工作流如下痛点:
- 运维过程黑盒,没有可视化和代码化
- 大量crontab任务,难以管理
- SQL依赖关系,难以处理
- 海豚与airflow调度,没有版本管理的概念

功能介绍

核心功能
- ETL部署:部署大数据分析任务
- 插件编译:自动化插件构建流程
- 服务打包:从Git仓库拉取代码并打包
- 服务部署:自动化服务部署流程
- 数据清理:定期清理日志和临时文件
- 数据备份:自动化数据备份流程

业务流程
- 填写工作流yml,支持SQL、shell、远程shell三种任务,同时支持开发、内部测试、线上测试、生产4种环境
- 生成任务依赖
- 打包生成升级包
- 部署到airflow环境

项目实现

项目全部通过AI实现,包括代码和文档,分成3部分
- 工作流依赖处理,同一工作流内,SQL自行解析并生成依赖,而shell、远程shell任务需要手动指定依赖;还支持天任务依赖某小时任务等跨工作流的内容依赖
- airflow处理,生成公共的airflow调度python脚本,识别工作流依赖并创建airflow调度所需要的工作流和任务,支持任意自定义的环境变量,如此可非常方便的区分开发、测试环境
- 海豚调度器处理,支持通过API的方式上传资源中心文件和创建任务并关联资源中心文件,实现版本化的处理

遇到的难点
- 海豚调度器,只有一个调度器要同时支持测试和生产环境,故资源中心的文件也拆分成两个目录,同时进行文件关联
- airflow调度,任意环境变量传递,通过python脚本动态解析airflow的json变量并自动导出环境变量

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论