From 967be8bbe63dc1945511a5058a5e55ffd2e2b9b1 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 | 18 +++++++++++++++++- docker/web/celery/scheduler/run.sh | 4 +++- docker/web/celery/worker/run.sh | 3 ++- docker/web/run_dev_web.sh | 3 +++ 4 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 docker/web/run_dev_web.sh diff --git a/config/settings/base.py b/config/settings/base.py index 4a316517f..5c0b91e17 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -212,8 +212,23 @@ 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 +# Configured to 0 due to connection issues https://github.com/celery/celery/issues/4355 CELERY_BROKER_POOL_LIMIT = env( - "CELERY_BROKER_POOL_LIMIT", default=env("CELERYD_CONCURRENCY", default=1000) + "CELERY_BROKER_POOL_LIMIT", default=env("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=env("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=env("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.int( + "CELERY_BROKER_CHANNEL_ERROR_RETRY", + default=env("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 +249,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" diff --git a/docker/web/run_dev_web.sh b/docker/web/run_dev_web.sh new file mode 100644 index 000000000..90ee46acc --- /dev/null +++ b/docker/web/run_dev_web.sh @@ -0,0 +1,3 @@ +pip install django_extensions +docker/web/run_web.sh +