feat: serialize official record imports
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s

This commit is contained in:
ik
2026-09-07 07:54:07 +07:00
parent 687b4c9cb5
commit c45b4511b7
9 changed files with 115 additions and 13 deletions
+11 -7
View File
@@ -9,7 +9,7 @@ from sqlalchemy.orm import Session
from .config import settings
from .database import SessionLocal
from .importer import import_records
from .importer import ImportAlreadyRunning, import_records
from .logging_config import configure_logging
from .models import OfficialRecordImport
@@ -36,12 +36,16 @@ def run_due_import() -> bool:
with SessionLocal() as session:
if not import_is_due(session):
return False
run = import_records(
session,
url=settings.official_records_url,
region=settings.official_records_region,
category=settings.official_records_category,
)
try:
run = import_records(
session,
url=settings.official_records_url,
region=settings.official_records_region,
category=settings.official_records_category,
)
except ImportAlreadyRunning:
logger.info("official import skipped because it is already running", extra={"event": "official_import_locked"})
return False
logger.info(
"official import completed",
extra={