From 3cfa43ba6cfe007415c8f85f6a500ac7c5c0283c Mon Sep 17 00:00:00 2001 From: LawyZheng Date: Mon, 3 Nov 2025 14:03:39 +0800 Subject: [PATCH] fix pbs download file bug (#3880) --- skyvern/forge/sdk/api/files.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/skyvern/forge/sdk/api/files.py b/skyvern/forge/sdk/api/files.py index 24642fb4..5692c871 100644 --- a/skyvern/forge/sdk/api/files.py +++ b/skyvern/forge/sdk/api/files.py @@ -213,11 +213,20 @@ async def wait_for_download_finished(downloading_files: list[str], timeout: floa new_downloading_files: list[str] = [] for path in cur_downloading_files: if path.startswith("s3://"): - metadata = await aws_client.get_file_metadata(path, log_exception=False) - if not metadata: + try: + await aws_client.get_object_info(path) + except Exception: + LOG.debug( + "downloading file is not found in s3, means the file finished downloading", path=path + ) + continue + else: + if not Path(path).exists(): + LOG.debug( + "downloading file is not found in the local file system, means the file finished downloading", + path=path, + ) continue - if not Path(path).exists(): - continue new_downloading_files.append(path) cur_downloading_files = new_downloading_files await asyncio.sleep(1)