提交 6c3ecf1b authored 作者: lc.zhou's avatar lc.zhou

ils-video-recorder:新增阿里云oss上传失败 重试

上级 ae4e1b2d
......@@ -13,6 +13,17 @@ config = settings.get('ALI_OSS', {})
region = config.get('region', 'hangzhou')
local_endpoint = config.get('endpoint', local_endpoint.format(region))
def _retry(func):
@wraps(func)
def wraper(*args, **kw):
try:
res = func(*args, **kw)
except RequestError as e:
log.exception(e)
_get_bucket.cache_clear()
res = None
return res
return wraper
@lru_cache()
def _get_bucket(bucket_name=None, l_region=None):
......@@ -22,7 +33,7 @@ def _get_bucket(bucket_name=None, l_region=None):
endpoint, bucket_name)
return bucket
@_retry
def oss_upload_file(origin_file, local_file):
""" 上传文件
......@@ -38,7 +49,7 @@ def oss_upload_file(origin_file, local_file):
origin_file_url = ''
return origin_file_url
@_retry
def oss_delete_file(origin_file):
""" 删除单个文件
"""
......@@ -53,7 +64,7 @@ def oss_delete_file(origin_file):
res = oss_batch_delete_files([origin_file], bucket_name, region)
return True if len(res) > 0 else False
@_retry
def oss_batch_delete_files(files_list, bucket_name=None, l_region=None):
""" 批量删除云端文件
"""
......@@ -68,7 +79,7 @@ def oss_batch_delete_files(files_list, bucket_name=None, l_region=None):
result = bucket.batch_delete_objects(bucket_files)
return result.deleted_keys
@_retry
def oss_download_file(origin_file, local_file):
"""
下载视频文件
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论