Set random retry defer

This commit is contained in:
2022-08-22 19:48:08 +03:00
parent 0d252fc532
commit e558c0e483

View File

@@ -1,6 +1,7 @@
import collections import collections
from datetime import timedelta from datetime import timedelta
import logging import logging
import random
from tempfile import SpooledTemporaryFile from tempfile import SpooledTemporaryFile
from typing import Optional, cast from typing import Optional, cast
@@ -68,7 +69,7 @@ async def cache_file(book: Book, file_type: str) -> Optional[CachedFile]:
).exists(): ).exists():
return return
retry_exc = Retry(defer=timedelta(minutes=15)) retry_exc = Retry(defer=timedelta(minutes=15).seconds * random.random())
try: try:
data = await download(book.source.id, book.remote_id, file_type) data = await download(book.source.id, book.remote_id, file_type)
@@ -126,7 +127,7 @@ async def cache_file_by_book_id(
async with lock: async with lock:
return await cache_file(book, file_type) return await cache_file(book, file_type)
except LockError: except LockError:
raise Retry(defer=timedelta(minutes=15)) raise Retry(defer=timedelta(minutes=15).seconds * random.random())
except Retry as e: except Retry as e:
if by_request: if by_request:
return None return None