thecollabagepatch commited on
Commit
5dd53c8
·
1 Parent(s): 1e3b782

a /jam/stop_all endpoint for hung sessions

Browse files
Files changed (1) hide show
  1. app.py +15 -0
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(...),