Сельдерей не соединяется с Redis - PullRequest
0 голосов
/ 18 марта 2020

Я работаю в проекте Django и пытаюсь интегрировать сельдерей в свой проект, но мое приложение не может подключиться к моему серверу redis, который я запускаю локально.

Это то, что он показывает мне, когда я запускаю celery - рабочий проекта.

---- **** ----- 
--- * ***  * -- Linux-4.15.0-58-generic-x86_64-with-Ubuntu-18.04-bionic 2020-03-18 19:06:29
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         proyecto_is2:0x7f7c98351518
- ** ---------- .> transport:   redis://h:**@ec2-34-202-114-79.compute-1.amazonaws.com:17729//
- ** ---------- .> results:     redis://127.0.0.1:6379/0
- *** --- * --- .> concurrency: 8 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
-------------- [queues]
            .> celery           exchange=celery(direct) key=celery
[2020-03-18 19:31:24,595: ERROR/MainProcess] consumer: Cannot connect to
redis://h:**@ec2-34-202-114-79.compute-1.amazonaws.com:17729//: Error 110 connecting to
ec2-34-202-114-79.compute-1.amazonaws.com:17729. Connection timed out..

Я заметил, что URL-адрес в транспорте не мой localhost, и я не знаю, где это было настроено , Я использую celery 4.3.0, redis 3.2.1.

В моем celery.py у меня есть

import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proyecto_is2.settings.dev_settings')
app = Celery('proyecto_is2')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

В моих настройках у меня есть

... other configs
CELERY_BROKER_URL = 'redis://127.0.0.1:6379'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_SERIALIZER = 'json'

1 Ответ

0 голосов
/ 20 марта 2020

Это определенно проблема конфигурации. Что-то в вашем файле settings.py, celery.py или в окружении переопределяет ваш брокер и указывает на redis://34.202.114.79.

...