from .config import tiktok_config
from .utils import kombu_register_json_dataclass, Backend

import celery
import redis

c = tiktok_config()

app = celery.Celery(
    __name__,
    broker=c.celery_broker,
    #result_backend=c.celery_result_backend,
    #backend=Backend,
    #result_backend=c.celery_result_backend,
    accept_content=['json-dataclass'],
    task_serializer='json-dataclass',
    result_serializer='json-dataclass',
    task_track_started=True,
)

kombu_register_json_dataclass()
app._backend = Backend(app=app, url=c.celery_result_backend)


app.autodiscover_tasks(c.celery_imports)

redis = dict(
    broker=redis.Redis(host='redis', db=int(c.celery_broker.split('/')[-1])),
    result_backend=redis.Redis(host='redis', db=int(c.celery_result_backend.split('/')[-1])),
)