diff --git a/summarize/runner.py b/summarize/runner.py index 947962b..795fe8d 100644 --- a/summarize/runner.py +++ b/summarize/runner.py @@ -201,6 +201,11 @@ def ensure_program_summary(con: sqlite3.Connection, llm, p: sqlite3.Row, except PendingResponse: # file 백엔드 — 프롬프트만 내놓고 응답을 기다린다. 실패로 기록하지 않는다. return existing, "pending" + except Exception as e: # noqa: BLE001 — HTTP 오류·JSON 아닌 응답. 이 프로그램만 failed 로 두고 계속 + con.execute("UPDATE program SET summary_status='failed' WHERE name=?", (p["name"],)) + con.commit() + print(f"[FAIL] program summary {p['name']}: {type(e).__name__}: {e}") + return existing, "failed" try: raw["program"] = p["name"] summary = ProgramSummary.model_validate(raw)