def start(self) -> None:
"""Start service."""
self.session = ClientSession(
connector=TCPConnector(limit=self.http_connection_limit),
timeout=self.http_request_timeout
)
async def stop(self) -> None:
"""Stop service."""
if self.session:
await self.session.close()
проблема в том что мы обявляем атрибут вне инита и пайчарм ругается не уверен что так правильно делать по архитектуре
двухэтапная инициализация - боль
aenter aexit?
в чем проблема передать сессию в инит? или создать её там
в том что мы тогда зависим от того когда создается класс то создается сессия. а возможно мы хотим открыть сессию позже а создать подготовить заранее
Ну это та гибкость, от которой потом сам обычно не рад, имхо)
ну тогда у тебя есть риск попыток использвоания сессии до того, как она создана
но тогда есть риск что мы закроем ее и будем использовать . Открыть повторно невозможно
есть, к сожалению тут никак. Можешь конечно сделать И инит И старт
Обсуждают сегодня