From b87650038f1c47322ac97e5f0c8fd6fcabeef62a Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 16 Oct 2024 17:55:19 +0800 Subject: [PATCH] perf: update code --- apps/common/storage/replay.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/common/storage/replay.py b/apps/common/storage/replay.py index de1a56e82..639015b87 100644 --- a/apps/common/storage/replay.py +++ b/apps/common/storage/replay.py @@ -1,6 +1,8 @@ import json import os +import shutil import tarfile +import time from itertools import chain from django.core.files.storage import default_storage @@ -62,16 +64,17 @@ class SessionPartReplayStorageHandler(object): # 保存到storage的路径 target_path = os.path.join(default_storage.base_location, local_path) - + target_tmp_path = target_path + f'.tmp{int(time.time())}' target_dir = os.path.dirname(target_path) if not os.path.isdir(target_dir): make_dirs(target_dir, exist_ok=True) - ok, err = storage.download(remote_path, target_path) + ok, err = storage.download(remote_path, target_tmp_path) if not ok: msg = 'Failed download {} file: {}'.format(part_filename, err) logger.error(msg) return None, msg + shutil.move(target_tmp_path, target_path) url = default_storage.url(local_path) return local_path, url