diff --git a/readthedocs/core/tasks.py b/readthedocs/core/tasks.py index 2ab5b23531f..b318bdcfb7b 100644 --- a/readthedocs/core/tasks.py +++ b/readthedocs/core/tasks.py @@ -63,7 +63,7 @@ def cleanup_pidbox_keys(): https://github.com/readthedocs/readthedocs-ops/issues/1260 """ - client = redis.from_url(settings.BROKER_URL) + client = redis.from_url(settings.CELERY_BROKER_URL) keys = client.keys("*reply.celery.pidbox*") total_memory = 0 for key in keys: diff --git a/readthedocs/core/utils/tasks/public.py b/readthedocs/core/utils/tasks/public.py index 6cd3773591e..76ebf5a7c05 100644 --- a/readthedocs/core/utils/tasks/public.py +++ b/readthedocs/core/utils/tasks/public.py @@ -10,7 +10,7 @@ "TaskNoPermission", ) -STATUS_UPDATES_ENABLED = not settings.CELERY_ALWAYS_EAGER +STATUS_UPDATES_ENABLED = not settings.CELERY_TASK_ALWAYS_EAGER # pylint: disable=abstract-method diff --git a/readthedocs/settings/base.py b/readthedocs/settings/base.py index 2c8eba8f030..717428df60e 100644 --- a/readthedocs/settings/base.py +++ b/readthedocs/settings/base.py @@ -656,26 +656,26 @@ def BUILD_MEMORY_LIMIT(self): # Celery CELERY_APP_NAME = "readthedocs" - CELERY_ALWAYS_EAGER = True - CELERYD_TASK_TIME_LIMIT = 60 * 60 # 60 minutes - CELERY_SEND_TASK_ERROR_EMAILS = False - CELERY_IGNORE_RESULT = True - CELERYD_HIJACK_ROOT_LOGGER = False + CELERY_TASK_ALWAYS_EAGER = True + CELERY_TASK_TIME_LIMIT = 60 * 60 # 60 minutes + CELERY_TASK_SEND_ERROR_EMAILS = False + CELERY_TASK_IGNORE_RESULT = True + CELERY_WORKER_HIJACK_ROOT_LOGGER = False # This stops us from pre-fetching a task that then sits around on the builder - CELERY_ACKS_LATE = True + CELERY_TASK_ACKS_LATE = True # Don't queue a bunch of tasks in the workers - CELERYD_PREFETCH_MULTIPLIER = 1 - CELERY_CREATE_MISSING_QUEUES = True + CELERY_WORKER_PREFETCH_MULTIPLIER = 1 + CELERY_TASK_CREATE_MISSING_QUEUES = True # https://github.com/readthedocs/readthedocs.org/issues/12317#issuecomment-3070950434 # https://docs.celeryq.dev/en/stable/getting-started/backends-and-brokers/redis.html#visibility-timeout - BROKER_TRANSPORT_OPTIONS = { + CELERY_BROKER_TRANSPORT_OPTIONS = { 'visibility_timeout': 18000, # 5 hours } - CELERY_DEFAULT_QUEUE = "celery" - CELERYBEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" - CELERYBEAT_SCHEDULE = { + CELERY_TASK_DEFAULT_QUEUE = "celery" + CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" + CELERY_BEAT_SCHEDULE = { "every-minute-finish-unhealthy-builds": { "task": "readthedocs.projects.tasks.utils.finish_unhealthy_builds", "schedule": crontab(minute="*"), diff --git a/readthedocs/settings/docker_compose.py b/readthedocs/settings/docker_compose.py index 105ed8decef..242c4051472 100644 --- a/readthedocs/settings/docker_compose.py +++ b/readthedocs/settings/docker_compose.py @@ -168,9 +168,9 @@ def DATABASES(self): # noqa }, } - BROKER_URL = f"redis://:redispassword@cache:6379/0" + CELERY_BROKER_URL = f"redis://:redispassword@cache:6379/0" - CELERY_ALWAYS_EAGER = False + CELERY_TASK_ALWAYS_EAGER = False EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" diff --git a/readthedocs/settings/test.py b/readthedocs/settings/test.py index 7713667db33..d46f40477fc 100644 --- a/readthedocs/settings/test.py +++ b/readthedocs/settings/test.py @@ -24,7 +24,7 @@ class CommunityTestSettings(CommunityBaseSettings): ELASTICSEARCH_DSL_AUTOSYNC = False ELASTICSEARCH_DSL_AUTO_REFRESH = True - CELERY_ALWAYS_EAGER = True + CELERY_TASK_ALWAYS_EAGER = True # Skip automatic detection of Docker limits for testing BUILD_TIME_LIMIT = 600 diff --git a/readthedocs/worker.py b/readthedocs/worker.py index 527ee509bee..8d4e76b4b21 100644 --- a/readthedocs/worker.py +++ b/readthedocs/worker.py @@ -15,7 +15,7 @@ def create_application(): ) application = Celery(settings.CELERY_APP_NAME) - application.config_from_object("django.conf:settings") + application.config_from_object("django.conf:settings", namespace="CELERY") application.autodiscover_tasks(None) # A step to initialize django-structlog