Subham9126 commited on
Commit
197c349
·
verified ·
1 Parent(s): 78fe485

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -0
app.py CHANGED
@@ -116,6 +116,22 @@ class SessionManager:
116
  except Exception as e:
117
  logger.warning(f"Error during final session cleanup: {e}")
118
  self._session = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  # --- Enhanced Data Models ---
120
 
121
  class StockDataRequest(BaseModel):
 
116
  except Exception as e:
117
  logger.warning(f"Error during final session cleanup: {e}")
118
  self._session = None
119
+
120
+ # Global session manager per event loop to handle multiple threads/loops
121
+ _session_managers = weakref.WeakKeyDictionary()
122
+
123
+ def get_session_manager():
124
+ """Get or create session manager for current event loop."""
125
+ try:
126
+ loop = asyncio.get_running_loop()
127
+ if loop not in _session_managers:
128
+ _session_managers[loop] = SessionManager()
129
+ logger.debug(f"📝 Created new SessionManager for event loop {id(loop)}")
130
+ return _session_managers[loop]
131
+ except RuntimeError:
132
+ # No event loop running
133
+ logger.warning("⚠️ No event loop running, cannot get session manager.")
134
+ return None
135
  # --- Enhanced Data Models ---
136
 
137
  class StockDataRequest(BaseModel):