feat: queue voice session cover generation jobs
This commit is contained in:
@@ -31,7 +31,7 @@ from app.services.memory_service import build_enhanced_memory_context
|
||||
from app.services.provider_router import generate_story_content, text_to_speech
|
||||
from app.services.story_service import (
|
||||
create_story_from_result,
|
||||
generate_story_cover,
|
||||
queue_story_asset_generation,
|
||||
validate_profile_and_universe,
|
||||
)
|
||||
from app.services.voice_session_safety import (
|
||||
@@ -1710,15 +1710,21 @@ async def finalize_voice_session_service(
|
||||
generation_job_id: str | None = None
|
||||
if request.generate_cover and story.cover_prompt:
|
||||
try:
|
||||
await generate_story_cover(story.id, user_id, db)
|
||||
cover_job = await queue_story_asset_generation(
|
||||
story.id,
|
||||
user_id,
|
||||
["image"],
|
||||
db,
|
||||
)
|
||||
generation_job_id = str(cover_job["id"])
|
||||
await _record_session_event(
|
||||
db,
|
||||
session_id=session.id,
|
||||
turn_id=None,
|
||||
event_type="session_cover_generation_succeeded",
|
||||
event_type="session_cover_generation_queued",
|
||||
status="succeeded",
|
||||
message="Finalized story cover was generated after session save.",
|
||||
metadata={"story_id": story.id},
|
||||
message="Finalized story cover generation was queued after session save.",
|
||||
metadata={"story_id": story.id, "generation_job_id": generation_job_id},
|
||||
)
|
||||
except HTTPException as exc:
|
||||
await _record_session_event(
|
||||
@@ -1727,11 +1733,11 @@ async def finalize_voice_session_service(
|
||||
turn_id=None,
|
||||
event_type="session_cover_generation_failed",
|
||||
status="failed",
|
||||
message="Finalized story cover generation failed after session save.",
|
||||
message="Finalized story cover generation failed before the worker could start.",
|
||||
metadata={"story_id": story.id, "error": str(exc.detail)},
|
||||
)
|
||||
logger.warning(
|
||||
"voice_session_finalize_cover_failed",
|
||||
"voice_session_finalize_cover_queue_failed",
|
||||
session_id=session.id,
|
||||
story_id=story.id,
|
||||
error=str(exc.detail),
|
||||
|
||||
Reference in New Issue
Block a user