- Store: add save_community_signal, get/set_user_preference, get_all_preferences - App.vue: move skip link before nav (correct a11y order); bootstrap preferences store after session - useTrustFeedback: prefix fetch URL with VITE_API_BASE (fixes menagerie routing) - search.ts: guard v-model.number empty-string from cleared price inputs - Python: isort import ordering pass across adapters, trust, tasks, tests
25 lines
774 B
Python
25 lines
774 B
Python
# app/tasks/scheduler.py
|
|
"""Snipe LLM/vision task scheduler — thin shim over circuitforge_core.tasks.scheduler."""
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from circuitforge_core.tasks.scheduler import (
|
|
TaskScheduler, # re-export for tests
|
|
)
|
|
from circuitforge_core.tasks.scheduler import (
|
|
get_scheduler as _base_get_scheduler,
|
|
reset_scheduler, # re-export for lifespan teardown
|
|
)
|
|
|
|
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 Snipe."""
|
|
return _base_get_scheduler(
|
|
db_path=db_path,
|
|
run_task_fn=run_task,
|
|
task_types=LLM_TASK_TYPES,
|
|
vram_budgets=VRAM_BUDGETS,
|
|
)
|