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(...),
|