Task priority – lower integer = higher priority.
LOW: Any = 0
NORMAL: Any = 1
HIGH: Any = 2
No methods defined.
Metadata for a scheduled task.
id: str = None
name: str = None
priority: TaskPriority = None
interval_frames: int = 0
last_run_frame: int = 0
total_runs: int = 0
cpu_time_ms: float = 0.0
memory_peak_bytes: int = 0
active: bool = True
result: Any = None
error: Optional[Exception] = None
_fn: Optional[Callable] = None
_args: tuple = ()
_kwargs: dict = field(default_factory=dict)
No methods defined.
Manages background tasks with priority, frame‑based scheduling, and resource tracking.
Tasks are executed in a thread pool, but scheduling decisions (when to run) are made
on the main thread via update().
def __init__(self: Any, max_workers: int = 4, monitor: Optional['PerformanceMonitor'] = None) -> Any
def schedule(self: Any, fn: Callable, name: str = '', priority: TaskPriority = TaskPriority.NORMAL, interval_frames: int = 0, args: tuple = (), kwargs: dict = None) -> str
def cancel(self: Any, task_id: str) -> bool
def update(self: Any, dt: float) -> Any
def get_status(self: Any) -> Dict[str, Dict[str, Any]]
def shutdown(self: Any, wait: bool = True) -> Any
def _enqueue_task(self: Any, task_id: str, info: TaskInfo) -> Any
def _consumer_loop(self: Any) -> Any
def _on_task_done(self: Any, task_id: str, future: concurrent.futures.Future) -> Any
def __del__(self: Any) -> Any