feat: optimize asset fetching by starting tasks immediately for parallel processing

This commit is contained in:
sudipnext 2026-03-02 17:17:46 +05:45
parent 34eed2413f
commit 1523511e97
2 changed files with 8 additions and 8 deletions

View file

@ -317,9 +317,9 @@ async def stream_presentation(
# This will mutate slide and add placeholder assets
process_slide_add_placeholder_assets(slide)
# This will mutate slide
# This will mutate slide - start task immediately so it runs in parallel with next slide LLM generation
async_assets_generation_tasks.append(
process_slide_and_fetch_assets(image_generation_service, slide)
asyncio.create_task(process_slide_and_fetch_assets(image_generation_service, slide))
)
yield SSEResponse(
@ -721,9 +721,9 @@ async def generate_presentation_handler(
slides.append(slide)
batch_slides.append(slide)
# Start asset fetch tasks for just-generated slides so they run while next batch is processed
# Start asset fetch tasks immediately so they run in parallel with next batch's LLM calls
asset_tasks = [
process_slide_and_fetch_assets(image_generation_service, slide)
asyncio.create_task(process_slide_and_fetch_assets(image_generation_service, slide))
for slide in batch_slides
]
async_assets_generation_tasks.extend(asset_tasks)

View file

@ -317,9 +317,9 @@ async def stream_presentation(
# This will mutate slide and add placeholder assets
process_slide_add_placeholder_assets(slide)
# This will mutate slide
# This will mutate slide - start task immediately so it runs in parallel with next slide LLM generation
async_assets_generation_tasks.append(
process_slide_and_fetch_assets(image_generation_service, slide)
asyncio.create_task(process_slide_and_fetch_assets(image_generation_service, slide))
)
yield SSEResponse(
@ -716,9 +716,9 @@ async def generate_presentation_handler(
slides.append(slide)
batch_slides.append(slide)
# Start asset fetch tasks for just-generated slides so they run while next batch is processed
# Start asset fetch tasks immediately so they run in parallel with next batch's LLM calls
asset_tasks = [
process_slide_and_fetch_assets(image_generation_service, slide)
asyncio.create_task(process_slide_and_fetch_assets(image_generation_service, slide))
for slide in batch_slides
]
async_assets_generation_tasks.extend(asset_tasks)