feat: include failed step in task errors

This commit is contained in:
chengma
2026-07-08 11:08:01 +08:00
parent ffbad8e64d
commit 75d545f182
7 changed files with 212 additions and 23 deletions
+5 -4
View File
@@ -553,7 +553,7 @@ def generate_batch(tasks, prompts, ai_cfg=None, on_progress=None, should_stop=No
summary["failed"] += 1
summary["ok"] = False
step = get_step(task, "title_request")
error = _mark_generate_failed(task, exc, db_path, on_task_update)
error = _mark_generate_failed(task, exc, db_path, on_task_update, step=step)
_emit_generation_event(on_event, task, "title", step, "failed", detail=error, level="error")
_emit_generation_error(on_error, task, "title", step, exc, error)
_emit_generation_progress(on_progress, summary)
@@ -590,7 +590,7 @@ def generate_batch(tasks, prompts, ai_cfg=None, on_progress=None, should_stop=No
summary["failed"] += 1
summary["ok"] = False
step = get_step(task, fallback_step)
error = _mark_generate_failed(task, exc, db_path, on_task_update)
error = _mark_generate_failed(task, exc, db_path, on_task_update, step=step)
_emit_generation_event(on_event, task, "cover", step, "failed", detail=error, level="error")
_emit_generation_error(on_error, task, "cover", step, exc, error)
@@ -1654,9 +1654,10 @@ def _new_cover_path(task, account_by_alias, image_root):
return image_paths.task_image_path(image_root, task, account, "new")
def _mark_generate_failed(task, exc, db_path, on_task_update):
def _mark_generate_failed(task, exc, db_path, on_task_update, step=None):
error = diagnostics.redact_log_text(str(exc) or exc.__class__.__name__)
db.mark_failed(task.id, "generate", error, path=db_path)
error = db.format_failure_error(error, step)
db.mark_failed(task.id, "generate", error, path=db_path, step=step)
if on_task_update is not None:
on_task_update(task.id, {"status": "failed", "last_error": error})
return error