在dolphinscheduler上用python任务获取工作流状态
时间: 2024-05-11 17:20:17 浏览: 165
dolphinscheduler工作流模板
要在DolphinScheduler上使用Python任务获取工作流状态,你需要使用DolphinScheduler提供的API接口来查询工作流状态。以下是一个简单的Python脚本示例,可以使用API接口查询工作流状态:
```python
import requests
import json
# DolphinScheduler API接口地址
dolphin_api_url = "http://dolphinscheduler-server:12345/dolphinscheduler"
# 登录DolphinScheduler
login_url = dolphin_api_url + "/api/access/token"
login_data = {
"userName": "your_username",
"userPassword": "your_password"
}
login_response = requests.post(login_url, data=json.dumps(login_data), headers={"Content-Type": "application/json"})
token = json.loads(login_response.text)["data"]["token"]
# 查询工作流状态
query_url = dolphin_api_url + "/api/rest/history-task-list-paging?pageNo=1&pageSize=10&processInstanceId=" + process_instance_id
query_response = requests.get(query_url, headers={"Content-Type": "application/json", "token": token})
# 处理查询结果
query_result = json.loads(query_response.text)["data"]["list"]
for item in query_result:
print("任务名称:", item["taskName"])
print("开始时间:", item["startTime"])
print("结束时间:", item["endTime"])
print("状态:", item["taskState"])
```
其中,`dolphin_api_url`是DolphinScheduler的API接口地址,`your_username`是你的DolphinScheduler用户名,`your_password`是你的DolphinScheduler登录密码,`process_instance_id`是要查询状态的工作流实例ID。这个脚本首先登录DolphinScheduler获取访问令牌,然后使用API接口查询工作流状态,最后输出查询结果。你需要将这个脚本中的参数替换为你自己的实际值,然后在DolphinScheduler上创建一个Python任务,并将这个脚本作为任务脚本运行。
阅读全文