The Vermeer REST API already returns an error_message field in the task response when a task fails (e.g., for load or compute tasks). However, the Python client (vermeer-python-client) does not parse this field. The TaskInfo class ignores error_message, making it difficult for users to understand why a task failed without manually inspecting the raw HTTP response.
vermeer-python-client/src/pyvermeer/structure/task_data.py
class TaskInfo:
"""task info"""
def __init__(self, dic):
"""init"""
self.__id = dic.get("id", 0)
self.__status = dic.get("status", "")
self.__state = dic.get("state", "")
self.__create_user = dic.get("create_user", "")
self.__create_type = dic.get("create_type", "")
self.__create_time = parse_vermeer_time(dic.get("create_time", ""))
self.__start_time = parse_vermeer_time(dic.get("start_time", ""))
self.__update_time = parse_vermeer_time(dic.get("update_time", ""))
self.__graph_name = dic.get("graph_name", "")
self.__space_name = dic.get("space_name", "")
self.__type = dic.get("type", "")
self.__params = dic.get("params", {})
self.__workers = [TaskWorker(w) for w in dic.get("workers", [])]
self.__error_message = dic.get("error_message", ""),
def to_dict(self) -> dict:
"""to dict"""
return {
"id": self.__id,
"status": self.__status,
"state": self.__state,
"create_user": self.__create_user,
"create_type": self.__create_type,
"create_time": self.__create_time.strftime("%Y-%m-%d %H:%M:%S") if self.__start_time else "",
"start_time": self.__start_time.strftime("%Y-%m-%d %H:%M:%S") if self.__start_time else "",
"update_time": self.__update_time.strftime("%Y-%m-%d %H:%M:%S") if self.__update_time else "",
"graph_name": self.__graph_name,
"space_name": self.__space_name,
"type": self.__type,
"params": self.__params,
"workers": [w.to_dict() for w in self.__workers],
"error_message": self.__error_message,
}
Search before asking
Feature Description (功能描述)
The Vermeer REST API already returns an error_message field in the task response when a task fails (e.g., for load or compute tasks). However, the Python client (vermeer-python-client) does not parse this field. The TaskInfo class ignores error_message, making it difficult for users to understand why a task failed without manually inspecting the raw HTTP response.
vermeer-python-client/src/pyvermeer/structure/task_data.py
Are you willing to submit a PR?
Code of Conduct