| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- from __future__ import annotations
- from dataclasses import dataclass, field
- from datetime import datetime
- from typing import Any
- @dataclass(frozen=True)
- class IngestionJobSpec:
- source_uid: str
- job_type: str
- parser_version: str
- artifact_uid: str | None = None
- parameters: dict[str, Any] = field(default_factory=dict)
- force_rerun: bool = False
- @dataclass(frozen=True)
- class IngestionJobRecord:
- uid: str
- source_uid: str
- job_type: str
- parser_version: str
- idempotency_key: str
- actor_uid: str | None
- artifact_uid: str | None = None
- parameters: dict[str, Any] = field(default_factory=dict)
- status: str = "created"
- statistics: dict[str, Any] = field(default_factory=dict)
- last_error: str | None = None
- attempt_count: int = 0
- failure_stage: str | None = None
- force_rerun: bool = False
- created_at: datetime | None = None
- updated_at: datetime | None = None
- started_at: datetime | None = None
- finished_at: datetime | None = None
- @dataclass(frozen=True)
- class JobTransition:
- source_status: str
- target_status: str
|