Skip to content

Commit 65ced34

Browse files
committed
fix: 修复了等待时间不一样的情况
1 parent 263917d commit 65ced34

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

core/cluster.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -402,13 +402,12 @@ async def _download(self, session: aiohttp.ClientSession, file_queues: asyncio.Q
402402
if file_queues.empty():
403403
failed_file = await self.failed_hashs.get()
404404
file = failed_file.file
405-
t = max(0, min(failed_file.failed_times * 30, 600) * 1e9 - (time.monotonic_ns() - failed_file.last_failed_time))
406-
logger.tdebug("cluster.debug.retry_download", start_date=failed_file.first_time, file_path=file.path, file_hash=file.hash, file_size=units.format_bytes(file.size), time=units.format_count_time(t), count=failed_file.failed_times)
407-
await asyncio.sleep(t / 1e9)
405+
t = max(0, min(failed_file.failed_times * 10, 600) - (time.monotonic() - failed_file.last_failed_time))
406+
logger.tdebug("cluster.debug.retry_download", start_date=failed_file.first_time, file_path=file.path, file_hash=file.hash, file_size=units.format_bytes(file.size), time=units.format_count_time(t * 1e9), count=failed_file.failed_times)
407+
await asyncio.sleep(t)
408408
else:
409409
file = await file_queues.get()
410410
content = io.BytesIO()
411-
raise
412411
async with self.sync_sem:
413412
async with session.get(
414413
file.path
@@ -430,8 +429,8 @@ async def _download(self, session: aiohttp.ClientSession, file_queues: asyncio.Q
430429
break
431430
except Exception as e:
432431
pbar.update(-recved)
433-
if failed_file is None:
434-
failed_file = FailedFile(file, 0, datetime.datetime.now(), time.monotonic_ns())
432+
failed_file = failed_file or FailedFile(file, 0, datetime.datetime.now(), time.monotonic())
433+
failed_file.last_failed_time = time.monotonic()
435434
failed_file.failed_times += 1
436435
await self.failed_hashs.put(failed_file)
437436
pbar.update_failed()

i18n/zh_cn.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@
4343
"cluster.info.request_certing": "节点 [${cluster}] 正在请求证书……",
4444
"cluster.info.init": "当前 OpenBMCLAPI 版本为 [${openbmclapi_version}] Python OpenBMCLAPI 版本为 [${version}]",
4545
"cluster.success.no_missing_files": "当前暂无更新的文件",
46-
"cluster.debug.retry_download": "文件 [${file_path} ${file_hash}(${file_size})] ${count} 次下载失败,将在 ${time} 重试"
46+
"cluster.debug.retry_download": "文件 [${file_path} ${file_hash}(${file_size})] 在 [${start_date}] 第 [${count}] 次下载失败,将在 [${time}] 重试"
4747
}

0 commit comments

Comments
 (0)