# celery_app.py import os from celery import Celery from dotenv import load_dotenv print(">>> [celery_app] Loading .env BEFORE initializing Celery...") load_dotenv() from db.db import init_db init_db() # ensures DB exists for all workers 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", ], ) # >>>>> PLAATS DIT HIER <<<<< celery_app.conf.update( worker_redirect_stdouts_level="WARNING", task_send_sent_event=False, resultrepr_maxsize=0, worker_log_format="[%(asctime)s: %(levelname)s/%(processName)s] %(message)s", worker_task_log_format="[%(asctime)s: %(levelname)s/%(processName)s] %(message)s", ) # >>>>> TOT HIER <<<<< 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.")