"""Celery app — Redis broker. Task modülleri eklendikçe include'a girer."""
from celery import Celery

from app.config import settings

celery_app = Celery(
    "flovy",
    broker=settings.redis_url,
    backend=settings.redis_url,
    include=[
        "app.tasks.index_knowledge",
        "app.tasks.warm_anchors",
        "app.tasks.anonymize_pii",
        # "app.tasks.issue_efatura",
    ],
)

celery_app.conf.update(
    task_serializer="json",
    result_serializer="json",
    accept_content=["json"],
    timezone="Europe/Istanbul",
    enable_utc=True,
    task_track_started=True,
    # Fire-and-forget task'lar — sonuç saklamayız (result backend connect'i bloke etmesin)
    task_ignore_result=True,
    # Broker erişilemezse hızlı başarısız ol — enqueue HTTP request'i bloke etmesin
    broker_connection_retry_on_startup=False,
    broker_connection_max_retries=0,
    task_publish_retry=False,
    broker_transport_options={"socket_connect_timeout": 1, "socket_timeout": 1},
)
