run_in_pool bounded thread scheduler

Python
"""Run many zero-argument tasks on a bounded thread pool, keeping errors."""
from concurrent.futures import ThreadPoolExecutor, as_completed
from dataclasses import dataclass
from typing import Any, Callable, Iterable


@dataclass
class TaskResult:
    """Outcome of one task: exactly one of value/error is meaningful."""
    index: int
    value: Any = None
    error: BaseException | None = None

    @property
    def ok(self) -> bool:
        return self.error is None


def run_in_pool(
    tasks: Iterable[Callable[[], Any]], *, workers: int = 4
) -> list[TaskResult]:
    """Execute tasks concurrently; results follow input order, never raise."""
    todo = list(tasks)
    results = [TaskResult(index=index) for index in range(len(todo))]
    with ThreadPoolExecutor(max_workers=max(1, workers)) as pool:
        futures = {pool.submit(task): index for index, task in enumerate(todo)}
        for future in as_completed(futures):
            slot = results[futures[future]]
            try:
                slot.value = future.result()
            except Exception as exc:  # report, do not abort the batch
                slot.error = exc
    return results