- compose.override.yml: cf-orch agent sidecar (port 7702) self-registers with coordinator at COORDINATOR_URL; advertise-host configurable via CF_ORCH_ADVERTISE_HOST - scheduler.py: pass coordinator_url=settings.COORDINATOR_URL and service_name="kiwi" so VRAM leases appear as "kiwi" on the orchestrator dashboard - environment.yml: add psutil>=5.9 (required by cf-orch agent eviction executor) - .env.example: document CF_ORCH_ADVERTISE_HOST
26 lines
796 B
Python
26 lines
796 B
Python
# app/tasks/scheduler.py
|
|
"""Kiwi LLM task scheduler — thin shim over circuitforge_core.tasks.scheduler."""
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from circuitforge_core.tasks.scheduler import (
|
|
TaskScheduler,
|
|
get_scheduler as _base_get_scheduler,
|
|
reset_scheduler, # re-export for tests
|
|
)
|
|
|
|
from app.core.config import settings
|
|
from app.tasks.runner import LLM_TASK_TYPES, VRAM_BUDGETS, run_task
|
|
|
|
|
|
def get_scheduler(db_path: Path) -> TaskScheduler:
|
|
"""Return the process-level TaskScheduler singleton for Kiwi."""
|
|
return _base_get_scheduler(
|
|
db_path=db_path,
|
|
run_task_fn=run_task,
|
|
task_types=LLM_TASK_TYPES,
|
|
vram_budgets=VRAM_BUDGETS,
|
|
coordinator_url=settings.COORDINATOR_URL,
|
|
service_name="kiwi",
|
|
)
|