From bd485daaf49e0405627fb1c9358617244c371e60 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Mon, 15 Apr 2024 12:27:58 -0700 Subject: [PATCH] make get signed_url requests async in get_agent_task_step_artifacts api (#192) --- skyvern/forge/sdk/routes/agent_protocol.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/skyvern/forge/sdk/routes/agent_protocol.py b/skyvern/forge/sdk/routes/agent_protocol.py index 914b37c95..19d41f351 100644 --- a/skyvern/forge/sdk/routes/agent_protocol.py +++ b/skyvern/forge/sdk/routes/agent_protocol.py @@ -1,3 +1,4 @@ +import asyncio from typing import Annotated, Any import structlog @@ -400,8 +401,9 @@ async def get_agent_task_step_artifacts( organization_id=current_org.organization_id, ) if SettingsManager.get_settings().ENV != "local": - for artifact in artifacts: - artifact.signed_url = await app.ARTIFACT_MANAGER.get_share_link(artifact) + signed_urls = await asyncio.gather(*[app.ARTIFACT_MANAGER.get_share_link(artifact) for artifact in artifacts]) + for i, artifact in enumerate(artifacts): + artifact.signed_url = signed_urls[i] return ORJSONResponse([artifact.model_dump() for artifact in artifacts])