feat: add generation job cancel and retry queue
This commit is contained in:
@@ -40,6 +40,7 @@ from app.services.generation_jobs import (
|
||||
get_user_generation_ops_summary,
|
||||
get_user_provider_analytics,
|
||||
list_story_generation_jobs,
|
||||
request_generation_job_cancel,
|
||||
)
|
||||
from app.services.memory_service import build_enhanced_memory_context
|
||||
from app.services.provider_router import (
|
||||
@@ -88,6 +89,32 @@ async def get_generation_job(
|
||||
return await get_generation_job_detail(db, job_id=job_id, user_id=user.id)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/generations/jobs/{job_id}/cancel",
|
||||
response_model=GenerationJobSummaryResponse,
|
||||
)
|
||||
async def cancel_generation_job(
|
||||
job_id: str,
|
||||
user: User = Depends(require_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""Request cancellation for one queued/running generation job."""
|
||||
return await request_generation_job_cancel(db, job_id=job_id, user_id=user.id)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/generations/jobs/{job_id}/retry",
|
||||
response_model=GenerationJobSummaryResponse,
|
||||
)
|
||||
async def retry_generation_job(
|
||||
job_id: str,
|
||||
user: User = Depends(require_user),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""Queue one new generation job from a failed/canceled terminal job."""
|
||||
return await story_service.retry_generation_job_service(job_id, user.id, db)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/generations/ops-summary",
|
||||
response_model=GenerationOpsSummaryResponse,
|
||||
|
||||
Reference in New Issue
Block a user