← Lesson
Budgets Are Stop Conditions
Joeven
Run
Reset
Python loads on first run
CAPS = {"max_steps": 8, "max_usd": 0.05, "max_wall_s": 120} def tick(job, step_usd, wall_s): job["steps"] = job.get("steps", 0) + 1 job["usd"] = round(job.get("usd", 0) + step_usd, 6) job["wall_s"] = wall_s if job["steps"] > CAPS["max_steps"]: return {"ok": False, "code": "MAX_STEPS", "job": job} if job["usd"] > CAPS["max_usd"]: return {"ok": False, "code": "MAX_USD", "job": job} if job["wall_s"] > CAPS["max_wall_s"]: return {"ok": False, "code": "MAX_WALL", "job": job} return {"ok": True, "job": job} job = {} print("ok", tick(job, 0.01, 10)["ok"]) print("usd", tick(job, 0.05, 20)) print("killed at cap, not silently routed")
Run to execute this in your browser. Nothing is sent to a server.