Files
raptor-trading/invest-python-master/t_tech/invest/retrying/aio/client.py

22 lines
842 B
Python

from t_tech.invest import AsyncClient
from t_tech.invest.retrying.aio.grpc_interceptor import AsyncRetryClientInterceptor
from t_tech.invest.retrying.aio.retry_manager import AsyncRetryManager
from t_tech.invest.retrying.settings_protocol import RetryClientSettingsProtocol
class AsyncRetryingClient(AsyncClient):
def __init__(
self,
token: str,
settings: RetryClientSettingsProtocol,
**kwargs,
):
self._retry_manager = AsyncRetryManager(settings=settings)
self._retry_interceptor = AsyncRetryClientInterceptor(
retry_manager=self._retry_manager
)
interceptors = kwargs.get("interceptors", [])
interceptors.append(self._retry_interceptor)
kwargs["interceptors"] = interceptors
super().__init__(token, **kwargs)