Celery продолжает пытаться подключиться к localhost вместо Amazon SQS

Я пытаюсь настроить Celery в своем проекте Django и использую Amazon SQS в качестве брокера. Однако Celery продолжает пытаться найти SQS на localhost по какой-то причине.

Это мой settings.py:

CELERY_BROKER_TRANSPORT = "sqs"
CELERY_BROKER_USER = env.str("DJANGO_AWS_ACCESS_KEY_ID")
CELERY_BROKER_PASSWORD = env.str("DJANGO_AWS_SECRET_ACCESS_KEY")
CELERY_BROKER_TRANSPORT_OPTIONS = {
    "region": env.str("DJANGO_AWS_SQS_REGION_NAME", default="us-east-2"), 
    "polling_interval": 10,
}
CELERY_DEFAULT_QUEUE = "default"
CELERY_ACCEPT_CONTENT = ["application/json"]
CELERY_TASK_SERIALIZER = "json"
CELERY_RESULT_SERIALIZER = "json"
CELERY_CONTENT_ENCODING = "utf-8"
CELERY_ENABLE_REMOTE_CONTROL = False 
CELERY_SEND_EVENTS = False
CELERY_SQS_QUEUE_NAME = "default"

Это мой celery.py :

import os

from celery import Celery

# set the default django settings module
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.production')

app = Celery('consumers')  # type: Celery

app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

Когда я запускаю рабочий с помощью celery -A src.consumers worker --loglevel=debug, рабочий пытается запуститься со следующим выводом, а затем сразу останавливается:

 -------------- celery@aditya-PC v5.2.7 (dawn-chorus)
--- ***** ----- 
-- ******* ---- Linux-5.15.0-52-generic-x86_64-with-glibc2.35 2022-10-27 13:56:01
- *** --- * --- 
- ** ---------- [config]
- ** ---------- .> app:         consumers:0x7fd77051de40
- ** ---------- .> transport:   sqs://AHJJHHFYTA3GHVJHB8:**@localhost:6379//
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 12 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery
                

[tasks]
  . celery.accumulate
  . celery.backend_cleanup
  . celery.chain
  . celery.chord
  . celery.chord_unlock
  . celery.chunks
  . celery.group
  . celery.map
  . celery.starmap
  . src.consumers.tasks.app1_test

Как заставить celery не пытаться подключиться к localhost, а вместо этого подключиться к SQS?

Это вроде как не проблема. То, как он смонтирован, заставляет его выглядеть как localhost, но на самом деле он пишет в очередь.

[2022-10-27 18:46:53,847: INFO/MainProcess] Connected to sqs://localhost//

Это лог из нашего prod env и все работает создайте сообщение в sqs и вы увидите, что оно обрабатывается

Вернуться на верх