feat: persist isolated utility export jobs

This commit is contained in:
Media
2026-08-12 18:21:29 -05:00
parent 8db46df69e
commit b934b69e5a
6 changed files with 423 additions and 14 deletions
+22
View File
@@ -10,6 +10,7 @@ MEDIA_STATES = frozenset(
)
LIVE_JOB_STATES = frozenset({"reserved", "running"})
LIVE_GUARD_STATES = frozenset({"active", "review_required"})
UTILITY_EXPORT_MODES = frozenset({"mp4", "m4a", "mp3"})
@dataclass(frozen=True)
@@ -54,6 +55,27 @@ class DownloadJob:
error: str | None
@dataclass(frozen=True)
class ExportReservation:
status: str
job_id: str | None = None
@dataclass(frozen=True)
class ExportJob:
job_id: str
mode: str
url: str
status: str
submitter: str | None
note: str | None
requested_at: float
started_at: float | None
finished_at: float | None
output_paths: tuple[str, ...]
error: str | None
@dataclass(frozen=True)
class DeleteToken:
slot: int