diff --git a/core/interfaces/abstract_ws.py b/core/interfaces/abstract_ws.py index 1d10d367..92fa5196 100644 --- a/core/interfaces/abstract_ws.py +++ b/core/interfaces/abstract_ws.py @@ -9,6 +9,10 @@ class AbstractWS(ABC): def run(self): pass + @abstractmethod + def close(self): + pass + @abstractmethod def receive(self, symbol: Symbol, timeframe: Timeframe): pass diff --git a/feed/_realtime.py b/feed/_realtime.py index 3d3e28bf..5ad4ce4a 100644 --- a/feed/_realtime.py +++ b/feed/_realtime.py @@ -31,6 +31,7 @@ async def __aenter__(self): async def __aexit__(self, exc_type, exc_value, traceback): await self.ws.unsubscribe(self.symbol, self.timeframe) + await self.ws.close() return self def __aiter__(self):