Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/retry.py
Show All 9 Lines | |||||
from typing import Dict, Iterable, List, Optional, Union | from typing import Dict, Iterable, List, Optional, Union | ||||
from tenacity import ( | from tenacity import ( | ||||
retry, stop_after_attempt, wait_random_exponential, | retry, stop_after_attempt, wait_random_exponential, | ||||
) | ) | ||||
from swh.model.model import ( | from swh.model.model import ( | ||||
Content, SkippedContent, Directory, Revision, Release, Snapshot, | Content, SkippedContent, Directory, Revision, Release, Snapshot, | ||||
Origin, | Origin, OriginVisit | ||||
) | ) | ||||
from swh.storage import get_storage | from swh.storage import get_storage | ||||
from swh.storage.exc import StorageArgumentException | from swh.storage.exc import StorageArgumentException | ||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | class RetryingProxyStorage: | ||||
@swh_retry | @swh_retry | ||||
def origin_visit_add(self, origin: Origin, | def origin_visit_add(self, origin: Origin, | ||||
date: Union[datetime, str], type: str) -> OriginVisit: | date: Union[datetime, str], type: str) -> OriginVisit: | ||||
return self.storage.origin_visit_add(origin, date, type) | return self.storage.origin_visit_add(origin, date, type) | ||||
@swh_retry | @swh_retry | ||||
def origin_visit_update( | def origin_visit_update( | ||||
self, origin: str, visit_id: int, status: Optional[str] = None, | self, visit: OriginVisit, status: Optional[str] = None, | ||||
metadata: Optional[Dict] = None, | metadata: Optional[Dict] = None, | ||||
snapshot: Optional[Dict] = None) -> Dict: | snapshot: Optional[Dict] = None) -> None: | ||||
return self.storage.origin_visit_update( | return self.storage.origin_visit_update( | ||||
origin, visit_id, status=status, | visit, status=status, | ||||
metadata=metadata, snapshot=snapshot) | metadata=metadata, snapshot=snapshot) | ||||
@swh_retry | @swh_retry | ||||
def tool_add(self, tools: Iterable[Dict]) -> List[Dict]: | def tool_add(self, tools: Iterable[Dict]) -> List[Dict]: | ||||
tools = list(tools) | tools = list(tools) | ||||
return self.storage.tool_add(tools) | return self.storage.tool_add(tools) | ||||
@swh_retry | @swh_retry | ||||
Show All 37 Lines |