上传文件也弄个超时

This commit is contained in:
Jerry Yan 2025-02-16 18:15:35 +08:00
parent 358207efdc
commit 2ea248c02e

View File

@ -13,13 +13,22 @@ def upload_to_oss(url, file_path):
:param str file_path: 文件路径 :param str file_path: 文件路径
:return bool: 是否成功 :return bool: 是否成功
""" """
with open(file_path, 'rb') as f: max_retries = 5
retries = 0
while retries < max_retries:
try: try:
response = requests.put(url, data=f) with open(file_path, 'rb') as f:
return response.status_code == 200 response = requests.put(url, data=f, timeout=60) # 设置超时时间为1分钟
if response.status_code == 200:
return True
except requests.exceptions.Timeout:
retries += 1
logger.warning(f"Upload timed out. Retrying {retries}/{max_retries}...")
except Exception as e: except Exception as e:
print(e) logger.warning(f"Upload failed. Retrying {retries}/{max_retries}...")
return False retries += 1
return False
def download_from_oss(url, file_path): def download_from_oss(url, file_path):
""" """
@ -33,11 +42,18 @@ def download_from_oss(url, file_path):
if file_dir: if file_dir:
if not os.path.exists(file_dir): if not os.path.exists(file_dir):
os.makedirs(file_dir) os.makedirs(file_dir)
try: max_retries = 5
response = requests.get(url) retries = 0
with open(file_path, 'wb') as f: while retries < max_retries:
f.write(response.content) try:
return True response = requests.get(url, timeout=15) # 设置超时时间
except Exception as e: with open(file_path, 'wb') as f:
print(e) f.write(response.content)
return False return True
except requests.exceptions.Timeout:
retries += 1
logger.warning(f"Download timed out. Retrying {retries}/{max_retries}...")
except Exception as e:
logger.warning(f"Download failed. Retrying {retries}/{max_retries}...")
retries += 1
return False