| | """Celery application configuration.""" |
| | import sys |
| | from pathlib import Path |
| | import os |
| |
|
| | |
| | backend_dir = Path(__file__).parent.resolve() |
| | if str(backend_dir) not in sys.path: |
| | sys.path.insert(0, str(backend_dir)) |
| |
|
| | from celery import Celery |
| | from kombu import Exchange, Queue |
| | from app_config import settings |
| |
|
| | |
| | if settings.use_fake_redis: |
| | |
| | broker_url = "memory://" |
| | backend_url = "cache+memory://" |
| | task_always_eager = True |
| | else: |
| | |
| | broker_url = settings.redis_url |
| | backend_url = settings.redis_url |
| | task_always_eager = False |
| |
|
| | |
| | celery_app = Celery( |
| | "rescored", |
| | broker=broker_url, |
| | backend=backend_url, |
| | ) |
| |
|
| | |
| | celery_app.conf.update( |
| | task_serializer="json", |
| | accept_content=["json"], |
| | result_serializer="json", |
| | timezone="UTC", |
| | enable_utc=True, |
| | |
| | |
| | task_always_eager=task_always_eager, |
| | task_eager_propagates=True, |
| |
|
| | |
| | task_track_started=True, |
| | task_time_limit=600, |
| | task_soft_time_limit=540, |
| | task_acks_late=True, |
| | worker_prefetch_multiplier=1, |
| |
|
| | |
| | task_autoretry_for=(Exception,), |
| | task_retry_kwargs={'max_retries': 3}, |
| | task_retry_backoff=True, |
| | task_retry_backoff_max=600, |
| |
|
| | |
| | task_queues=( |
| | Queue('default', Exchange('default'), routing_key='default', priority=5), |
| | Queue('high_priority', Exchange('high_priority'), routing_key='high_priority', priority=10), |
| | ), |
| | task_default_queue='default', |
| | task_default_routing_key='default', |
| | ) |
| |
|
| | |
| | |
| | import tasks |
| |
|