This commit is contained in:
valenti
2026-09-08 07:21:34 -04:00
commit a4b224da8e
169 changed files with 27483 additions and 0 deletions
@@ -0,0 +1,44 @@
"""Job lifecycle domain events."""
from __future__ import annotations
from typing import Any, Dict, Optional
from uuid import UUID
from asf_events.base import ASFEvent
class JobQueued(ASFEvent):
event_type: str = "job.queued"
job_id: UUID
job_type: str
queue: str
payload: Dict[str, Any] = {}
class JobStarted(ASFEvent):
event_type: str = "job.started"
job_id: UUID
worker: Optional[str] = None
payload: Dict[str, Any] = {}
class JobCompleted(ASFEvent):
event_type: str = "job.completed"
job_id: UUID
duration_ms: Optional[int] = None
payload: Dict[str, Any] = {}
class JobFailed(ASFEvent):
event_type: str = "job.failed"
job_id: UUID
error: str
payload: Dict[str, Any] = {}
class JobCancelled(ASFEvent):
event_type: str = "job.cancelled"
job_id: UUID
reason: Optional[str] = None
payload: Dict[str, Any] = {}