"""
Celery 异步任务队列
用于生产环境的异步任务处理
"""
from celery import Celery
import structlog

from app.configs import settings

logger = structlog.get_logger()

celery_app = Celery(
    "ai_engineering",
    broker=settings.celery_broker_url,
    backend=settings.celery_result_backend,
    include=["app.queue.tasks"],
)

celery_app.conf.update(
    task_serializer="json",
    accept_content=["json"],
    result_serializer="json",
    timezone="UTC",
    enable_utc=True,
    task_track_started=True,
    task_acks_late=True,
    worker_prefetch_multiplier=1,
    task_routes={
        "app.queue.tasks.run_engineering_task": {"queue": "engineering"},
        "app.queue.tasks.run_bugfix_task": {"queue": "bugfix"},
        "app.queue.tasks.run_review_task": {"queue": "review"},
    },
)
