35 lines
849 B
Python
35 lines
849 B
Python
import os
|
|
from dotenv import load_dotenv
|
|
from celery import Celery
|
|
|
|
load_dotenv()
|
|
|
|
redis_host = os.getenv("REDIS_HOST", "localhost")
|
|
redis_port = os.getenv("REDIS_PORT", "6379")
|
|
redis_password = os.getenv("REDIS_PASSWORD", "")
|
|
redis_db = os.getenv("REDIS_DB", "0")
|
|
|
|
if redis_password:
|
|
broker_url = f"redis://:{redis_password}@{redis_host}:{redis_port}/{redis_db}"
|
|
else:
|
|
broker_url = f"redis://{redis_host}:{redis_port}/{redis_db}"
|
|
|
|
app = Celery(
|
|
"moldinsight",
|
|
broker=broker_url,
|
|
backend=broker_url,
|
|
include=["celery_tasks"],
|
|
)
|
|
|
|
app.conf.update(
|
|
task_serializer="json",
|
|
result_serializer="json",
|
|
accept_content=["json"],
|
|
task_acks_late=True,
|
|
worker_prefetch_multiplier=1,
|
|
task_track_started=True,
|
|
task_soft_time_limit=1800,
|
|
task_time_limit=2100,
|
|
broker_connection_retry_on_startup=True,
|
|
)
|