from datetime import datetime, timezone from sqlalchemy.ext.asyncio import AsyncSession from ..models import Job async def mark_processing(db: AsyncSession, job: Job) -> None: job.status = "processing" job.started_at = datetime.now(timezone.utc) job.error_message = None await db.commit() async def save_llm_results( db: AsyncSession, job: Job, generated_text: str, translated_text: str, input_summary: str, ) -> None: job.generated_text = generated_text job.translated_text = translated_text job.input_summary = input_summary await db.commit() async def mark_succeeded(db: AsyncSession, job: Job, audio_url: str) -> None: job.status = "succeeded" job.audio_url = audio_url job.completed_at = datetime.now(timezone.utc) await db.commit() async def mark_failed(db: AsyncSession, job: Job, error: str) -> None: job.status = "failed" job.error_message = error job.completed_at = datetime.now(timezone.utc) await db.commit()