← Lesson
Long-Running Agents
Joeven
Run
Reset
Python loads on first run
import json STORE = {} def save(run_id, state): STORE[run_id] = json.dumps(state) def load(run_id): return json.loads(STORE[run_id]) def step_job(state): phase = state["phase"] if phase == "start": state["phase"] = "wait_email" state["wake_when"] = "mail:invoice" return state if phase == "wait_email": if not state.get("email"): return state state["phase"] = "done" state["answer"] = "filed " + state["email"]["id"] state["wake_when"] = None return state return state save("r1", {"phase": "start"}) s = step_job(load("r1")) save("r1", s) print("after start", load("r1")["phase"], "wake", load("r1")["wake_when"]) s = load("r1") s["email"] = {"id": "m9"} save("r1", s) s = step_job(load("r1")) save("r1", s) print("after mail", load("r1")["phase"], load("r1").get("answer"))
Run to execute this in your browser. Nothing is sent to a server.