# celery_app.py import os from celery import Celery from dotenv import load_dotenv print(">>> [celery_app] Loading .env BEFORE initializing Celery...") load_dotenv() BROKER = os.getenv("REDIS_BROKER") BACKEND = os.getenv("REDIS_BACKEND") print(">>> [celery_app] BROKER =", BROKER) print(">>> [celery_app] BACKEND =", BACKEND) celery_app = Celery( "bookscraper", broker=BROKER, backend=BACKEND, include=[ "scraper.tasks.scraping", "scraper.tasks.controller_tasks", "scraper.tasks.download_tasks", "scraper.tasks.parse_tasks", "scraper.tasks.save_tasks", # -------------------------------------------------------- # AUDIO TASKS (NEW) # -------------------------------------------------------- "scraper.tasks.audio_tasks", ], ) celery_app.conf.task_routes = { "scraper.tasks.scraping.*": {"queue": "scraping"}, "scraper.tasks.controller_tasks.*": {"queue": "controller"}, "scraper.tasks.download_tasks.*": {"queue": "download"}, "scraper.tasks.parse_tasks.*": {"queue": "parse"}, "scraper.tasks.save_tasks.*": {"queue": "save"}, # ------------------------------------------------------------ # AUDIO ROUTING (NEW) # ------------------------------------------------------------ "scraper.tasks.audio_tasks.*": {"queue": "audio"}, } # ------------------------------------------------------------ # EXTRA DEBUG: test import of included modules # ------------------------------------------------------------ print(">>> [celery_app] Testing imports for included task modules...") for module in celery_app.conf.include: try: __import__(module) print(f">>> [celery_app] OK import {module}") except Exception as e: print(f">>> [celery_app] FAILED import {module}: {e}") print(">>> [celery_app] Celery initialization complete.")