contimp-app / app /tasks /__init__.py
lefft's picture
contimp-app v0.1.0
910dadd verified
Raw
History Blame Contribute Delete
522 Bytes
"""Auto-discovering task registry: any module here exposing `TASK` is registered."""
import importlib
import pkgutil
from app.tasks.base import Task
REGISTRY: dict[str, Task] = {}
for _mod_info in pkgutil.iter_modules(__path__):
if _mod_info.name == "base":
continue
_mod = importlib.import_module(f"{__name__}.{_mod_info.name}")
_task = getattr(_mod, "TASK", None)
if _task is not None:
REGISTRY[_task.id] = _task
REGISTRY = dict(sorted(REGISTRY.items(), key=lambda kv: kv[1].order))