@staticmethod
def get_celery_tasks(package_name: str) -> List[Callable[(..., Any)]]:
    '\n        Extract all celery tasks from a module.\n        Celery tasks are functions decorated by @CeleryExt.celery_app.task(...)\n        This decorator transform the function into a class child of\n        celery.local.PromiseProxy\n        '
    tasks: List[Callable[(..., Any)]] = []
    package = Meta.get_module_from_string(package_name)
    if (package is None):
        return tasks
    path = package.__path__
    for (_, module_name, ispkg) in pkgutil.iter_modules(path):
        if ispkg:
            continue
        module_path = f'{package_name}.{module_name}'
        log.debug("Loading module '{}'", module_path)
        submodule = Meta.get_module_from_string(module_path, exit_on_fail=True)
        functions = inspect.getmembers(submodule)
        for func in functions:
            obj_type = type(func[1])
            if (obj_type.__module__ != 'celery.local'):
                continue
            tasks.append(func[1])
    return tasks
Extract all celery tasks from a module.
Celery tasks are functions decorated by @CeleryExt.celery_app.task(...)
This decorator transform the function into a class child of
celery.local.PromiseProxy
@staticmethod
def get_celery_tasks(package_name: str) -> List[Callable[(..., Any)]]:
    '\n        Extract all celery tasks from a module.\n        Celery tasks are functions decorated by @CeleryExt.celery_app.task(...)\n        This decorator transform the function into a class child of\n        celery.local.PromiseProxy\n        '
    tasks: List[Callable[(..., Any)]] = []
    package = Meta.get_module_from_string(package_name)
    if (package is None):
        return tasks
    path = package.__path__
    for (_, module_name, ispkg) in pkgutil.iter_modules(path):
        if ispkg:
            continue
        module_path = f'{package_name}.{module_name}'
        log.debug("Loading module '{}'", module_path)
        submodule = Meta.get_module_from_string(module_path, exit_on_fail=True)
        functions = inspect.getmembers(submodule)
        for func in functions:
            obj_type = type(func[1])
            if (obj_type.__module__ != 'celery.local'):
                continue
            tasks.append(func[1])
    return tasks