diff --git a/dispatcharr/__init__.py b/dispatcharr/__init__.py index 2f688176..cc07df3d 100644 --- a/dispatcharr/__init__.py +++ b/dispatcharr/__init__.py @@ -1,11 +1,9 @@ # dispatcharr/__init__.py +# For Celery: import eagerly so @shared_task binds to the configured app. +# Lazy-loading via __getattr__ left the default Celery app unconfigured in +# production (no CELERY_BROKER_URL in env), so .delay() fell back to AMQP +# localhost and failed with ConnectionRefusedError. +from .celery import app as celery_app + __all__ = ("celery_app",) - - -def __getattr__(name: str): - if name == "celery_app": - from .celery import app as celery_app - - return celery_app - raise AttributeError(f"module {__name__!r} has no attribute {name!r}")