Files
geMoldInsight/src/celery_app.py
T

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,
)