import json import time EVENT_LOG = "/tmp/agent-events.log" def emit_event(event): event.setdefault("run_id", None) event.setdefault("node", None) event.setdefault("timestamp", time.time()) line = json.dumps(event) print(line) print("EVENT WRITTEN") try: with open(EVENT_LOG, "a", encoding="utf-8") as event_log: event_log.write(line + "\n") event_log.flush() except OSError as exc: print(f"[event:error] failed to write event log: {exc}") def emit_run_progress(run_id, run): emit_event( { "type": "run_progress", "run_id": run_id, "node": None, "received": run.get("received", 0), "expected": run.get("expected", 0), "message": ( f"run progress: {run.get('received', 0)}/" f"{run.get('expected', 0)}" ), } )