Files

22 lines
809 B
Python

from t_tech.invest import Client
from t_tech.invest.retrying.settings_protocol import RetryClientSettingsProtocol
from t_tech.invest.retrying.sync.grpc_interceptor import RetryClientInterceptor
from t_tech.invest.retrying.sync.retry_manager import RetryManager
class RetryingClient(Client):
def __init__(
self,
token: str,
settings: RetryClientSettingsProtocol,
**kwargs,
):
self._retry_manager = RetryManager(settings=settings)
self._retry_interceptor = RetryClientInterceptor(
retry_manager=self._retry_manager
)
interceptors = kwargs.get("interceptors", [])
interceptors.append(self._retry_interceptor)
kwargs["interceptors"] = interceptors
super().__init__(token, **kwargs)