海豚调度器调用api接口来获取工作流信息(获取processDefinitionId)

 在前面一文,海豚调度器调用api接口启动工作流(亲试可用),详细介绍processDefinitionId通过t_ds_process_definition来获取,并没有详细介绍如何用api调用。下面详细介绍如何用api获取。

获取工作流的信息:

#查询流程定义通过项目ID
def queryProcessDefinitionAllByProjectId(token,project_name, project_id):
    url = f"{dolphin_scheduler_base_url}/projects/{project_name}/process/queryProcessDefinitionAllByProjectId"
    params = {
        "projectId": project_id
    }
    headers = {
        "Content-Type": "application/json",
        "token": token
    }
    response = requests.get(url, headers=headers, params=params)

    if response.status_code == 200:
        return response.json()
    else:
        return None

解析工作流的信息,获取工作流名称和processDefinitionId的字典:

def extract_name_id_mapping(json_data):
    name_id_mapping = {}
    data_list = json_data.get('data', [])
    for item in data_list:
        name = item.get('name')
        id = item.get('id')
        if name and id:
            name_id_mapping[name] = id
    return name_id_mapping

调用如下:

 json_data = queryProcessDefinitionAllByProjectId(token,project_name, project_id)
        name_id_mapping = extract_name_id_mapping(json_data)
        print(name_id_mapping)

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注