Commit
·
5dd53c8
1
Parent(s):
1e3b782
a /jam/stop_all endpoint for hung sessions
Browse files
app.py
CHANGED
@@ -990,6 +990,21 @@ def jam_stop(session_id: str = Body(..., embed=True)):
|
|
990 |
jam_registry.pop(session_id, None)
|
991 |
return {"stopped": True}
|
992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
993 |
@app.post("/jam/update")
|
994 |
def jam_update(
|
995 |
session_id: str = Form(...),
|
|
|
990 |
jam_registry.pop(session_id, None)
|
991 |
return {"stopped": True}
|
992 |
|
993 |
+
@app.post("/jam/stop_all")
|
994 |
+
def jam_stop_all():
|
995 |
+
"""Force stop all active jam sessions (nuclear option for cleanup)"""
|
996 |
+
stopped_sessions = []
|
997 |
+
|
998 |
+
with jam_lock:
|
999 |
+
for session_id, worker in list(jam_registry.items()):
|
1000 |
+
if worker.is_alive():
|
1001 |
+
worker.stop()
|
1002 |
+
worker.join(timeout=2.0)
|
1003 |
+
stopped_sessions.append(session_id)
|
1004 |
+
jam_registry.pop(session_id, None)
|
1005 |
+
|
1006 |
+
return {"stopped_sessions": stopped_sessions, "count": len(stopped_sessions)}
|
1007 |
+
|
1008 |
@app.post("/jam/update")
|
1009 |
def jam_update(
|
1010 |
session_id: str = Form(...),
|