Skip to content

Renewable GPU leases: heartbeat + generic lease-exec wrapper#87

Merged
AlienWalker1995 merged 4 commits into
mainfrom
feat/renewable-lease
Jul 15, 2026
Merged

Renewable GPU leases: heartbeat + generic lease-exec wrapper#87
AlienWalker1995 merged 4 commits into
mainfrom
feat/renewable-lease

Conversation

@AlienWalker1995

Copy link
Copy Markdown
Owner

Summary

  • Scheduler: POST /jobs/heartbeat renews a running lease (liveness-based, 900s TTL per beat); estimate-based caps unchanged for non-heartbeating jobs; self-heal preserved (a dead client stops beating and is swept).
  • v2/assets/lease-exec.py: generic stdlib-only wrapper — acquire lease, run command, heartbeat, forward signals, release on exit; refuses to run unleased. First consumer: the upcoming ai-toolkit plugin.

Test plan

  • v2/tests: test_scheduler.py, test_broker.py, test_control.py, test_lease_exec.py (subprocess-level, incl. SIGINT forwarding + fail-loud-when-unleased). Full v2 suite: 238 passed locally.

🤖 Generated with Claude Code

@AlienWalker1995 AlienWalker1995 merged commit fa86dc5 into main Jul 15, 2026
6 checks passed
@AlienWalker1995 AlienWalker1995 deleted the feat/renewable-lease branch July 15, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant