"""PromptLooper Celery worker configuration.""" from celery import Celery from config import settings # Determine broker and backend URLs broker_url = settings.redis_url or "memory://" result_backend = settings.redis_url or "cache+memory://" celery_app = Celery( "promptlooper", broker=broker_url, backend=result_backend, ) celery_app.conf.update( task_serializer="json", accept_content=["json"], result_serializer="json", timezone="UTC", enable_utc=True, worker_concurrency=settings.max_concurrent_runs, task_track_started=True, task_acks_late=True, worker_prefetch_multiplier=1, ) # Auto-discover tasks in engine package celery_app.autodiscover_tasks(["engine"], force=True)