Re-freeze phase 3 so its purchases split by model instead of queueing on one lock

This commit is contained in:
Claude (backend session) 2026-08-08 22:13:46 +03:00
parent d09821caf5
commit ed9e049248

View file

@ -149,9 +149,13 @@ def cmd_plan() -> None:
print("СМЕТА НЕ ВЛЕЗАЕТ — сократить панель или пинг владельцу ДО покупок")
def cmd_run() -> None:
def cmd_run(argv: list[str] | None = None) -> None:
"""`--only=<модель>` разводит процессы по клеткам. Без него параллельные процессы идут по
панели в ОДНОМ порядке и упираются в один замок: денег это не тратит, но и не ускоряет."""
argv = argv or []
only = [a.split("=", 1)[1] for a in argv if a.startswith("--only=")]
led = MONEY.Guarded("Ф3", default_expect=0.03)
for m in panel():
for m in (x for x in panel() if not only or x in only):
if m == BATTLE:
print(f" {m}: клетка куплена в Ф2 (tp2-edit) — не перекупается")
continue
@ -209,6 +213,6 @@ def cmd_score() -> None:
if __name__ == "__main__":
a = sys.argv[1:] or ["--plan"]
fn = {"--plan": cmd_plan, "--isolation": cmd_isolation, "--run": cmd_run,
fn = {"--plan": cmd_plan, "--isolation": cmd_isolation, "--run": lambda: cmd_run(a),
"--score": cmd_score}.get(a[0])
fn() if fn else print(__doc__)