Update backend/app/workers/queue_worker.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
2025-10-02 13:04:30 +02:00
committed by GitHub
parent e31ec199c0
commit a0bc94d7ec

View File

@@ -82,17 +82,15 @@ def _auto_import_handlers() -> None:
if pkg_name: if pkg_name:
bases_to_try.append(pkg_name) bases_to_try.append(pkg_name)
# If executed as a script (no package), make 'app' importable and alias this # If executed as a script (no package), make 'app' importable so that handler modules
# module as 'app.workers.queue_worker' so that handler relative imports work # can be imported using absolute imports. Handler modules must use absolute imports
# (e.g., 'from backend.app.workers.queue_worker import register_task_handler').
if not pkg_name: if not pkg_name:
backend_dir = os.path.abspath(os.path.join(__file__, '../../..')) # .../backend backend_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) # .../backend
if backend_dir not in sys.path: if backend_dir not in sys.path:
sys.path.insert(0, backend_dir) sys.path.insert(0, backend_dir)
try: try:
importlib.import_module("app.workers") importlib.import_module("app.workers")
# Alias the current module under the package name to satisfy
# 'from .queue_worker import ...' inside handlers without re-importing
sys.modules.setdefault("app.workers.queue_worker", sys.modules[__name__])
except Exception as e: except Exception as e:
logger.debug("Failed to prepare package context for handlers: %s", e) logger.debug("Failed to prepare package context for handlers: %s", e)
# Ensure we try importing under 'app.workers' # Ensure we try importing under 'app.workers'