优化加载后删除节点的逻辑;和数据库查询性能

This commit is contained in:
strepsiades
2026-04-02 19:31:04 +08:00
parent 74df53889c
commit 543c3ff906
17 changed files with 571 additions and 32 deletions
@@ -101,7 +101,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
else:
results.append(TaskResult.in_progress(node_id=node.node_id, task_id=push_id))
except Exception as e:
results.append(TaskResult.failed(node_id=node.node_id, error=str(e)))
results.append(TaskResult.failed(node_id=node.node_id, error=str(e), push_id=push_id))
return results
@@ -135,6 +135,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
node_updated = False
error = None
push_failure_id = None
schema_status_lines: List[str] = []
# 1. 基础信息更新 (ConstructionUpdate)
@@ -186,6 +187,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
except Exception as e:
error = str(e)
base_update_error = str(e)
push_failure_id = push_id
else:
base_update_error = "show_name changed but task_type != QT"
@@ -236,6 +238,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
except Exception as e:
error = str(e)
plan_update_error = str(e)
push_failure_id = push_id
schema_status_lines.append(
self.build_update_schema_status(
@@ -253,7 +256,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
# 汇总结果
if error:
results.append(TaskResult.failed(node_id=node.node_id, error=error))
results.append(TaskResult.failed(node_id=node.node_id, error=error, push_id=push_failure_id))
elif node_updated:
results.append(TaskResult.success(node_id=node.node_id))
else:
@@ -279,7 +282,7 @@ class ConstructionTaskApiHandler(BaseApiHandler):
await api_delete_construction_task(self.api_client, biz_id, push_id)
results.append(TaskResult.success(node_id=node.node_id))
except Exception as e:
results.append(TaskResult.failed(node_id=node.node_id, error=str(e)))
results.append(TaskResult.failed(node_id=node.node_id, error=str(e), push_id=push_id))
return results
@@ -130,7 +130,7 @@ class ConstructionTaskDetailApiHandler(BaseApiHandler):
else:
results.append(TaskResult.in_progress(node_id=node.node_id, task_id=push_id))
except Exception as e:
results.append(TaskResult.failed(node_id=node.node_id, error=str(e)))
results.append(TaskResult.failed(node_id=node.node_id, error=str(e), push_id=push_id))
return results
@@ -222,7 +222,7 @@ class ConstructionTaskDetailApiHandler(BaseApiHandler):
# 整组失败
error_msg = str(e)
for node, _ in group_items:
results.append(TaskResult.failed(node_id=node.node_id, error=error_msg))
results.append(TaskResult.failed(node_id=node.node_id, error=error_msg, push_id=push_id))
return results
@@ -240,7 +240,7 @@ class ConstructionTaskDetailApiHandler(BaseApiHandler):
await api_delete_construction_task_detail(self.api_client, biz_id, push_id)
results.append(TaskResult.success(node_id=node.node_id))
except Exception as e:
results.append(TaskResult.failed(node_id=node.node_id, error=str(e)))
results.append(TaskResult.failed(node_id=node.node_id, error=str(e), push_id=push_id))
return results