"""Celery application: Redis broker, task routing, beat schedule.""" import logging import os from celery import Celery from kombu import Queue from app.core.config import settings log = logging.getLogger("celery") redis_url = settings.REDIS_URL broker_url = redis_url if redis_url.endswith("/0") else redis_url if not broker_url.endswith(str(settings.CELERY_BROKER_DB)): broker_url = broker_url.rstrip("0123456789") + str(settings.CELERY_BROKER_DB) result_backend = broker_url.rstrip("0123456789") + str(settings.CELERY_RESULT_DB) celery_app = Celery( "bulkgmailmailer", broker=broker_url, backend=result_backend, include=["app.tasks.send_tasks"], ) celery_app.conf.update( task_serializer="json", accept_content=["json"], result_serializer="json", timezone="UTC", enable_utc=True, task_acks_late=True, task_reject_on_worker_lost=True, worker_prefetch_multiplier=1, # strict sequential-like processing per worker task_default_queue="send", task_queues=(Queue("send", routing_key="send.#"), Queue("control", routing_key="control.#")), task_routes={"app.tasks.send_tasks.send_one": {"queue": "send"}, "app.tasks.send_tasks.*": {"queue": "send"}}, broker_connection_retry_on_startup=True, task_track_started=True, task_time_limit=120, --- ls: cannot access '.env.example': No such file or directory cat: .env.example: No such file or directory ---static mount--- 7:from fastapi.staticfiles import StaticFiles 61:app.mount("/static", StaticFiles(directory="static"), name="static")