Files
vllm_agent_strategy/scripts/dry_run_plan.py
2026-07-21 16:04:18 +08:00

32 lines
1.1 KiB
Python

from __future__ import annotations
import argparse
from app.scheduler.budget import Budget
from app.scheduler.planner import Planner
from app.settings import load_settings
from app.storage.db import connect
from app.storage.repositories import Repository
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--limit", type=int, default=50)
args = parser.parse_args()
settings = load_settings(require_secrets=False)
conn = connect(settings.db_path)
try:
repo = Repository(conn)
Planner(repo, Budget(repo, settings.max_user_tasks), settings.default_gpu_alias_list).materialize_tasks()
rows = repo.due_tasks(("pending", "ready_to_submit", "waiting_download", "queue_full_backoff"), limit=args.limit)
for row in rows:
print(f"#{row['id']} priority={row['priority']} status={row['status']} {row['model_id']} -> {row['gpu_type']} ({row['gpu_alias']})")
print(f"budget used={repo.count_budgeted_tasks()} max={settings.max_user_tasks}")
finally:
conn.close()
if __name__ == "__main__":
main()