RAPTOR v18.4: Исправлена отчетность, активированы выходные

This commit is contained in:
root
2026-04-18 23:26:45 +03:00
commit ef0958239e
312 changed files with 54247 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import logging
import time
from typing import Any
from t_tech.invest.logging import get_metadata_from_call
from t_tech.invest.retrying.base_retry_manager import BaseRetryManager
logger = logging.getLogger(__name__)
class RetryManager(BaseRetryManager):
def call_with_retries(self, call: Any):
retries_left = self.get_initial_retries()
while retries_left > 0:
logger.debug("Trying to call")
result = call()
logger.debug("Call succeeded")
exception = result.exception()
if not exception:
return result
retries_left -= 1
logger.debug("Retries left = %s", retries_left)
metadata = get_metadata_from_call(exception)
seconds_to_sleep = self.extract_seconds_to_sleep(metadata)
self._sleep(seconds_to_sleep)
logger.debug("RetryManager exhausted, no retries left")
return result
def _sleep(self, seconds_to_sleep):
time.sleep(seconds_to_sleep)