@@ -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 ()
0 commit comments