Files
manual_slop/fix_engines.py
T
ed ac0b564c02 fix(mma): Change self.engine to self.engines dict for concurrent track support
- self.engine was a single ConductorEngine reference that got overwritten
  when multiple tracks ran concurrently, orphaning the first track's engine
- Now uses self.engines: Dict[str, ConductorEngine] keyed by track.id
- Updated _spawn_worker, kill_worker, pause_mma, resume_mma, approve_ticket,
  _load_active_tickets, and _update_ticket_depends_on to use engines.get(track_id)

Fixes concurrent MMA track execution bug where only one worker ever appeared.
2026-05-07 07:54:39 -04:00

12 lines
795 B
Python

with open('src/app_controller.py', 'rb') as f:
content = f.read()
# Fix _update_ticket_depends_on
old = b' if self.engine:\r\n from src.dag_engine import TrackDAG, ExecutionEngine\r\n self.engine.dag = TrackDAG(self.active_track.tickets)\r\n self.engine.engine = ExecutionEngine(self.engine.dag, auto_queue=self.engine.engine.auto_queue)'
new = b' engine = self.engines.get(self.active_track.id if self.active_track else None)\r\n if engine:\r\n from src.dag_engine import TrackDAG, ExecutionEngine\r\n engine.dag = TrackDAG(self.active_track.tickets)\r\n engine.engine = ExecutionEngine(engine.dag, auto_queue=engine.engine.auto_queue)'
content = content.replace(old, new)
with open('src/app_controller.py', 'wb') as f:
f.write(content)
print("Done")