Wire Celery Beat periodic sync with ingestion run tracking
This commit is contained in:
@ -427,6 +427,12 @@ def run_sync_job(
|
||||
context=context or {},
|
||||
)
|
||||
summary = SyncSummary()
|
||||
logger.info(
|
||||
"Starting ingestion run id=%s provider=%s job_type=%s",
|
||||
run.id,
|
||||
provider_namespace,
|
||||
job_type,
|
||||
)
|
||||
|
||||
try:
|
||||
provider = get_provider(provider_namespace)
|
||||
@ -444,6 +450,9 @@ def run_sync_job(
|
||||
_sync_player_stats(provider_namespace, payload.get("player_stats", []), run, summary)
|
||||
_sync_player_careers(provider_namespace, payload.get("player_careers", []), run, summary)
|
||||
|
||||
success_error_summary = ""
|
||||
if summary.failed > 0:
|
||||
success_error_summary = f"Completed with {summary.failed} failed record(s)."
|
||||
finish_ingestion_run(
|
||||
run=run,
|
||||
status=IngestionRun.RunStatus.SUCCESS,
|
||||
@ -451,6 +460,16 @@ def run_sync_job(
|
||||
created=summary.created,
|
||||
updated=summary.updated,
|
||||
failed=summary.failed,
|
||||
error_summary=success_error_summary,
|
||||
)
|
||||
logger.info(
|
||||
"Completed ingestion run id=%s status=%s processed=%s created=%s updated=%s failed=%s",
|
||||
run.id,
|
||||
IngestionRun.RunStatus.SUCCESS,
|
||||
summary.processed,
|
||||
summary.created,
|
||||
summary.updated,
|
||||
summary.failed,
|
||||
)
|
||||
return run
|
||||
|
||||
@ -471,6 +490,7 @@ def run_sync_job(
|
||||
created=summary.created,
|
||||
updated=summary.updated,
|
||||
failed=summary.failed + 1,
|
||||
error_summary=f"Rate limit from provider: {exc}",
|
||||
)
|
||||
raise
|
||||
|
||||
@ -490,6 +510,7 @@ def run_sync_job(
|
||||
created=summary.created,
|
||||
updated=summary.updated,
|
||||
failed=summary.failed + 1,
|
||||
error_summary=f"Transient provider error: {exc}",
|
||||
)
|
||||
raise
|
||||
|
||||
@ -509,5 +530,6 @@ def run_sync_job(
|
||||
created=summary.created,
|
||||
updated=summary.updated,
|
||||
failed=summary.failed + 1,
|
||||
error_summary=f"Unhandled ingestion error: {exc}",
|
||||
)
|
||||
raise
|
||||
|
||||
Reference in New Issue
Block a user