first
This commit is contained in:
@@ -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] = {}
|
||||
Reference in New Issue
Block a user