backend updates for bulk product uploads from user
This commit is contained in:
@@ -19,7 +19,20 @@ async def _run_job(job_id: str, brand: str, max_products: int) -> None:
|
||||
job_store.update(job_id, "running")
|
||||
try:
|
||||
summary = await ingest_brand(brand, max_products=max_products)
|
||||
job_store.update(job_id, "done", detail=f"{summary['total_products']} products ingested")
|
||||
# "Ingested" has to mean "in the database". The generation stages can all
|
||||
# succeed while the pgvector write fails, and reporting that as done is
|
||||
# how a run that stored nothing ends up looking successful in the UI.
|
||||
if summary.get("storage_error"):
|
||||
job_store.update(
|
||||
job_id,
|
||||
"failed",
|
||||
detail=(
|
||||
f"Generated {summary['total_products']} product(s) but storing them "
|
||||
f"failed, so none are in the catalog: {summary['storage_error']}"
|
||||
),
|
||||
)
|
||||
else:
|
||||
job_store.update(job_id, "done", detail=f"{summary['total_products']} products ingested")
|
||||
except Exception as e: # noqa: BLE001 - surface any failure to the UI
|
||||
logger.exception("Catalog ingestion job %s failed", job_id)
|
||||
job_store.update(job_id, "failed", detail=str(e))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user