转载自风_间
上一篇写了《DolphinScheduler接口实操(一):利用接口实现高效批量工作流导入及脚本上线》,通过DolphinScheduler的一些接口来实现导入-上线工作流,那么DolphinScheduler的接口应该怎么找呢?在此简朴总结一篇。
接下来以手动执行一次工作流为例。
探求接口
首先需要手动操作,要执行工作流就要到工作流定义页面执行。
就在这里进入F12 – 网络,然后去点一个任务的运行。
就能看到接口,15410101436864 就是上面工作流的code。
把工作流执行完。
URL
继承观察接口。发现东西增加了。
哀求URL和哀求方法就是有用信息。- start_process_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/executors/start-process-instance'
- # 请求方法是POST
复制代码 哀求参数
接着找哀求参数
把这些东西拿出来,就是哀求体- data = {
- 'processDefinitionCode': process_code,
- 'failureStrategy': 'CONTINUE',
- 'warningType': 'FAILURE',
- 'warningGroupId': 2,
- 'execType': 'START_PROCESS',
- 'startNodeList': [],
- 'taskDependType': 'TASK_POST',
- 'complementDependentMode': 'OFF_MODE',
- 'runMode': 'RUN_MODE_SERIAL',
- 'processInstancePriority': 'MEDIUM',
- 'workerGroup': 'default',
- 'environmentCode': '',
- 'startParams': '',
- 'expectedParallelismNumber': '',
- 'dryRun': 0,
- 'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
- }
复制代码 测试接口
找到之后就测试一下接口是否正常可用 python 或 foxapi之类的工具,head token 在上一篇已经讲过了,不再赘述。- 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 = {
- 'processDefinitionCode': process_code,
- 'failureStrategy': 'CONTINUE',
- 'warningType': 'FAILURE',
- 'warningGroupId': 2,
- 'execType': 'START_PROCESS',
- 'startNodeList': [],
- 'taskDependType': 'TASK_POST',
- 'complementDependentMode': 'OFF_MODE',
- 'runMode': 'RUN_MODE_SERIAL',
- 'processInstancePriority': 'MEDIUM',
- 'workerGroup': 'default',
- 'environmentCode': '',
- 'startParams': '',
- 'expectedParallelismNumber': '',
- 'dryRun': 0,
- 'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
- } 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企服之家,中国第一个企服评测及商务社交产业平台。 |