File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import asyncio # for future uses
22import ssl
3+ import threading
34import aiohttp
45import certifi
56from telebot import types
3031
3132class SessionManager :
3233 def __init__ (self ) -> None :
33- self .session = None
34+ self ._local = threading . local ()
3435 self .ssl_context = ssl .create_default_context (cafile = certifi .where ())
3536
37+ @property
38+ def session (self ):
39+ return getattr (self ._local , 'session' , None )
40+
41+ @session .setter
42+ def session (self , value ):
43+ self ._local .session = value
3644
3745 async def create_session (self ):
3846 self .session = aiohttp .ClientSession (connector = aiohttp .TCPConnector (
@@ -45,7 +53,7 @@ async def get_session(self):
4553 if self .session is None :
4654 self .session = await self .create_session ()
4755 return self .session
48-
56+
4957 if self .session .closed :
5058 self .session = await self .create_session ()
5159
You can’t perform that action at this time.
0 commit comments