fix: roll back to unique session per request

This commit is contained in:
bennykok 2024-09-16 23:57:40 -07:00
parent 1f5a88b888
commit 5a78ca97bd

View File

@ -28,27 +28,27 @@ from aiohttp import web, ClientSession, ClientError, ClientTimeout
import atexit import atexit
# Global session # Global session
client_session = None # client_session = None
# def create_client_session(): # def create_client_session():
# global client_session # global client_session
# if client_session is None: # if client_session is None:
# client_session = aiohttp.ClientSession() # client_session = aiohttp.ClientSession()
async def ensure_client_session(): # async def ensure_client_session():
global client_session # global client_session
if client_session is None: # if client_session is None:
client_session = aiohttp.ClientSession() # client_session = aiohttp.ClientSession()
async def cleanup(): # async def cleanup():
global client_session # global client_session
if client_session: # if client_session:
await client_session.close() # await client_session.close()
def exit_handler(): def exit_handler():
print("Exiting the application. Initiating cleanup...") print("Exiting the application. Initiating cleanup...")
loop = asyncio.get_event_loop() # loop = asyncio.get_event_loop()
loop.run_until_complete(cleanup()) # loop.run_until_complete(cleanup())
atexit.register(exit_handler) atexit.register(exit_handler)
@ -60,8 +60,9 @@ print(f"max_retries: {max_retries}, retry_delay_multiplier: {retry_delay_multipl
import time import time
async def async_request_with_retry(method, url, disable_timeout=False, token=None, **kwargs): async def async_request_with_retry(method, url, disable_timeout=False, token=None, **kwargs):
global client_session # global client_session
await ensure_client_session() # await ensure_client_session()
async with aiohttp.ClientSession() as client_session:
retry_delay = 1 # Start with 1 second delay retry_delay = 1 # Start with 1 second delay
initial_timeout = 5 # 5 seconds timeout for the initial connection initial_timeout = 5 # 5 seconds timeout for the initial connection