fix(elasticsearch): commit failed status immediately

This commit is contained in:
CREDO23 2026-06-10 00:10:52 +02:00
parent c26181d086
commit ba687813c1

View file

@ -6,6 +6,7 @@ Implements 2-phase document status updates for real-time UI feedback:
- Phase 2: Process each document: pending processing ready/failed
"""
import contextlib
import json
import logging
import time
@ -406,10 +407,15 @@ async def index_elasticsearch_documents(
try:
document.status = DocumentStatus.failed(str(e))
document.updated_at = get_current_timestamp()
# Commit now so the failed status survives a later rollback or
# crash; otherwise the doc stays stuck in pending/processing.
await session.commit()
except Exception as status_error:
logger.error(
f"Failed to update document status to failed: {status_error}"
)
with contextlib.suppress(Exception):
await session.rollback()
documents_failed += 1
continue