From 30d2bbd834f90056201cb84ba79b3315f797f6f6 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Thu, 20 Feb 2025 08:30:43 -0800 Subject: [PATCH] Upload downloaded files to S3 after every block so they can be used for subsequent blocks (#1801) --- skyvern/forge/agent.py | 20 ++++++++++---------- skyvern/forge/sdk/workflow/models/block.py | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/skyvern/forge/agent.py b/skyvern/forge/agent.py index 441d4c6d..84c7be08 100644 --- a/skyvern/forge/agent.py +++ b/skyvern/forge/agent.py @@ -1683,16 +1683,6 @@ class ForgeAgent: step_id=last_step.step_id, ) - # if it's a task block from workflow run, - # we don't need to close the browser, save browser artifacts, or call webhook - if task.workflow_run_id: - LOG.info( - "Task is part of a workflow run, not sending a webhook response", - task_id=task.task_id, - workflow_run_id=task.workflow_run_id, - ) - return - if task.organization_id: try: async with asyncio.timeout(SAVE_DOWNLOADED_FILES_TIMEOUT): @@ -1713,6 +1703,16 @@ class ForgeAgent: workflow_run_id=task.workflow_run_id, ) + # if it's a task block from workflow run, + # we don't need to close the browser, save browser artifacts, or call webhook + if task.workflow_run_id: + LOG.info( + "Task is part of a workflow run, not sending a webhook response", + task_id=task.task_id, + workflow_run_id=task.workflow_run_id, + ) + return + await self.async_operation_pool.remove_task(task.task_id) await self.cleanup_browser_and_create_artifacts( close_browser_on_completion, last_step, task, browser_session_id=browser_session_id diff --git a/skyvern/forge/sdk/workflow/models/block.py b/skyvern/forge/sdk/workflow/models/block.py index 81312409..5ccfcf75 100644 --- a/skyvern/forge/sdk/workflow/models/block.py +++ b/skyvern/forge/sdk/workflow/models/block.py @@ -640,7 +640,7 @@ class BaseTaskBlock(Block): downloaded_file_urls = await app.STORAGE.get_downloaded_files( organization_id=workflow_run.organization_id, task_id=updated_task.task_id, - workflow_run_id=workflow_run_id, + workflow_run_id=None, ) except asyncio.TimeoutError: LOG.warning("Timeout getting downloaded files", task_id=updated_task.task_id) @@ -699,7 +699,7 @@ class BaseTaskBlock(Block): downloaded_file_urls = await app.STORAGE.get_downloaded_files( organization_id=workflow_run.organization_id, task_id=updated_task.task_id, - workflow_run_id=workflow_run_id, + workflow_run_id=None, ) except asyncio.TimeoutError: LOG.warning("Timeout getting downloaded files", task_id=updated_task.task_id)