上传文件也弄个超时

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