agent-system/orchestrator/events.py

36 lines
926 B
Python

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)}"
),
}
)