from celery import Celery

from app.core.config import get_settings
from app.core.logging_config import configure_logging

settings = get_settings()
configure_logging("worker")

celery_app = Celery(
    "jozie",
    broker=settings.celery_broker_url,
    backend=settings.celery_result_backend,
    include=[
        "app.workers.document_tasks",
        "app.workers.dataset_tasks",
        "app.workers.rag_tasks",
        "app.workers.evaluation_tasks",
        "app.workers.model_tasks",
        "app.workers.training_tasks",
    ],
)

celery_app.conf.update(
    task_serializer="json",
    accept_content=["json"],
    result_serializer="json",
    task_track_started=True,
    result_expires=3600,
)
