# ds-tools **Repository Path**: coderTomato/ds-tools ## Basic Information - **Project Name**: ds-tools - **Description**: 用api 操作 ds - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-19 - **Last Updated**: 2023-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dolphinscheduler_import_tool Dolphinscheduler 外部作业导入工具 - [用途](#用途) - [代码概述](#代码概述) - [生成过程](#生成过程(2.0.5)) --- ## 用途 将通用的外部定义的作业配置导入到 Dolphinscheduler 指定的项目中, 目前支持版本2.0.5, 主要适用于作业迁移和开发/测试与生产隔离的情况. * 更新作业定义时, 已存在的作业定义必须保留, 否则自依赖引用会失效, 使用以下流程实现完全增量更新: 1. 先导入服务器中的所有作业,同时导入excel配置中的作业定义(导入时检测是否有重叠的节点,有重叠则更新) 2. 用名称匹配项目下已有的任务code, 不存在时生成新任务code 3. 遍历dag生成流程, 将流程定义更新到服务中 ## 代码概述 * `main_general.py` 主程序, 负责导入服务器及excel的作业,生成DAG树. * `ds_config.py` DS服务的口令及数据库地址 * `ds_api.py` http api的封装 * `ds_db.py` 简单的数据库操作函数 * `schedule_config.py` 用于导入excel配置 * `dag_node` 实现DAG到流和作业的json的转换, 以及对比差异 ## 生成过程 1. DS中添加 **租户**, **用户**, 和 **环境** 2. 配置`ds_config.py`(配置口令及服务IP) 3. 执行`python/python3 main_general.py [yml配置文件路径]` 进行作业配置导入 4. 执行`python/python3 main_general.py [资源中心文件夹名 资源中心文件全路径 yml配置文件路径]` 进行依赖资源文件的作业配置导入