From dbc8864fcb8f197da1700662ccc0ee352173e946 Mon Sep 17 00:00:00 2001 From: moisses89 <7888669+moisses89@users.noreply.github.com> Date: Thu, 27 Jul 2023 11:32:19 +0200 Subject: [PATCH] Add default celery configurations --- config/settings/base.py | 15 +++++++++++++-- docker/web/celery/scheduler/run.sh | 4 +++- docker/web/celery/worker/run.sh | 3 ++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 4a316517f..8623d6403 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -212,8 +212,18 @@ CELERY_BROKER_URL = env("CELERY_BROKER_URL", default="django://") # https://docs.celeryproject.org/en/stable/userguide/optimizing.html#broker-connection-pools # https://docs.celeryq.dev/en/latest/userguide/optimizing.html#broker-connection-pools -CELERY_BROKER_POOL_LIMIT = env( - "CELERY_BROKER_POOL_LIMIT", default=env("CELERYD_CONCURRENCY", default=1000) +# Configured to 0 due to connection issues https://github.com/celery/celery/issues/4355 +CELERY_BROKER_POOL_LIMIT = env.int("CELERY_BROKER_POOL_LIMIT", default=0) +# https://docs.celeryq.dev/en/stable/userguide/configuration.html#broker-heartbeat +CELERY_BROKER_HEARTBEAT = env.int("CELERY_BROKER_HEARTBEAT", default=0) + +# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std-setting-broker_connection_max_retries +CELERY_BROKER_CONNECTION_MAX_RETRIES = env.int( + "CELERY_BROKER_CONNECTION_MAX_RETRIES", default=0 +) +# https://docs.celeryq.dev/en/stable/userguide/configuration.html#broker-channel-error-retry +CELERY_BROKER_CHANNEL_ERROR_RETRY = env.bool( + "CELERY_BROKER_CHANNEL_ERROR_RETRY", default=True ) # http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-result_backend CELERY_RESULT_BACKEND = env("CELERY_RESULT_BACKEND", default="redis://") @@ -234,6 +244,7 @@ CELERY_TASK_QUEUE_MAX_PRIORITY = 10 # https://docs.celeryproject.org/en/latest/userguide/configuration.html#broker-transport-options CELERY_BROKER_TRANSPORT_OPTIONS = {} + # https://docs.celeryq.dev/en/stable/userguide/configuration.html#std-setting-task_routes CELERY_ROUTES = ( [ diff --git a/docker/web/celery/scheduler/run.sh b/docker/web/celery/scheduler/run.sh index dcc85339f..cbb5a4723 100755 --- a/docker/web/celery/scheduler/run.sh +++ b/docker/web/celery/scheduler/run.sh @@ -13,4 +13,6 @@ fi sleep 10 echo "==> $(date +%H:%M:%S) ==> Running Celery beat <==" -exec celery -C -A config.celery_app beat -S django_celery_beat.schedulers:DatabaseScheduler --loglevel $log_level +exec celery -C -A config.celery_app beat \ + -S django_celery_beat.schedulers:DatabaseScheduler \ + --loglevel $log_level \ No newline at end of file diff --git a/docker/web/celery/worker/run.sh b/docker/web/celery/worker/run.sh index 714d67bea..5e5cffe80 100755 --- a/docker/web/celery/worker/run.sh +++ b/docker/web/celery/worker/run.sh @@ -33,4 +33,5 @@ exec celery -C -A config.celery_app worker \ --concurrency=${TASK_CONCURRENCY} \ --max-memory-per-child=${MAX_MEMORY_PER_CHILD} \ --max-tasks-per-child=${MAX_TASKS_PER_CHILD} \ - -Q "$WORKER_QUEUES" + --without-heartbeat --without-gossip \ + --without-mingle -Q "$WORKER_QUEUES"