DolphinScheduler接口实操(二):如何探求接口

打印 上一主题 下一主题

主题 1012|帖子 1012|积分 3036


转载自风_间
上一篇写了《DolphinScheduler接口实操(一):利用接口实现高效批量工作流导入及脚本上线》,通过DolphinScheduler的一些接口来实现导入-上线工作流,那么DolphinScheduler的接口应该怎么找呢?在此简朴总结一篇。
接下来以手动执行一次工作流为例。
探求接口

首先需要手动操作,要执行工作流就要到工作流定义页面执行。

就在这里进入F12 – 网络,然后去点一个任务的运行。

就能看到接口,15410101436864 就是上面工作流的code。

把工作流执行完。

URL

继承观察接口。发现东西增加了。

哀求URL和哀求方法就是有用信息。
  1. start_process_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/executors/start-process-instance'
  2. # 请求方法是POST
复制代码
哀求参数

接着找哀求参数

把这些东西拿出来,就是哀求体
  1. data = {
  2.         'processDefinitionCode': process_code,
  3.         'failureStrategy': 'CONTINUE',
  4.         'warningType': 'FAILURE',
  5.         'warningGroupId': 2,
  6.         'execType': 'START_PROCESS',
  7.         'startNodeList': [],
  8.         'taskDependType': 'TASK_POST',
  9.         'complementDependentMode': 'OFF_MODE',
  10.         'runMode': 'RUN_MODE_SERIAL',
  11.         'processInstancePriority': 'MEDIUM',
  12.         'workerGroup': 'default',
  13.         'environmentCode': '',
  14.         'startParams': '',
  15.         'expectedParallelismNumber': '',
  16.         'dryRun': 0,
  17.         'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
  18.     }
复制代码
测试接口

找到之后就测试一下接口是否正常可用 python 或 foxapi之类的工具,head token 在上一篇已经讲过了,不再赘述。
  1. start_process_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/executors/start-process-instance'project_id = ''tokenheaders = {    'Accept': 'application/json',    'token': token}def start_process(process_code):    url = start_process_url.format(project_id=project_id)    data = {
  2.         'processDefinitionCode': process_code,
  3.         'failureStrategy': 'CONTINUE',
  4.         'warningType': 'FAILURE',
  5.         'warningGroupId': 2,
  6.         'execType': 'START_PROCESS',
  7.         'startNodeList': [],
  8.         'taskDependType': 'TASK_POST',
  9.         'complementDependentMode': 'OFF_MODE',
  10.         'runMode': 'RUN_MODE_SERIAL',
  11.         'processInstancePriority': 'MEDIUM',
  12.         'workerGroup': 'default',
  13.         'environmentCode': '',
  14.         'startParams': '',
  15.         'expectedParallelismNumber': '',
  16.         'dryRun': 0,
  17.         'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
  18.     }    response = requests.post(url, headers=headers, data=data)    print(response.status_code)    if __name__ == '__main__':    start_process('15402965147328')
复制代码
执行之后,在DolphinScheduler的工作流实例观察一下,确实运行了,而且代码中返回了200,说明一切都是正常的,可以用的。
这里结合上一篇中获取工作流列表的方法,就可以实现把所有工作流手动执行一次。
原文链接:https://blog.csdn.net/weixin_45399602/article/details/143232944
本文由 白鲸开源 提供发布支持!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表