Sergiy_Hanzhela
@Sergiy_Hanzhela
Начинающий разработчик!

Как подключить celery к redis который в docker контейнере?

Есть приложение на Django,
Postgresql и Redis запущены в докер контейнере, с базой все нормально а вот Celery не получается подключить к redis вот кусочек с docker-compose
redis:
    image: redis
    command: redis-server
    ports:
      - "14000:6379"

Сам redis стартует в контейнере.
не могу сообразить что должно быть указано в CELERY_BROKER_URL и CELERY_RESULT_BACKEND в качестве адресов, само приложение не находится в контейнере!

app = Celery('django_drf',
             broker='redis://localhost:14000/0',
             )

так не работает он начинает стучаться на локальный redis? не могу понять в качестве transport что использовать вместо redis просто указать localhost Celery так не понимает,

-- ******* ---- Linux-5.4.0-126-generic-x86_64-with-glibc2.29 2022-10-10 07:10:39
- *** --- * --- 
- ** ---------- [config]
- ** ---------- .> app:         django_drf:0x7f0ba8567070
- ** ---------- .> transport:   redis://localhost:14000/0
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 6 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[2022-10-10 07:11:35,747: ERROR/MainProcess] consumer: Cannot connect to redis://localhost:14000/0: Error 111 connecting to localhost:14000. Connection refused..


Закрываю вопрос все оказалось проще, Redis запускался в контейнере но почему-то не выглядывал наружу,
посмотрел порты и действительно не было этого портаю
app = Celery('django_drf',
             broker='redis://localhost:14000/0', backend="redis://localhost:14000/1"
             )

Немного переписал docker-compose теперь порт прокидывается внутрь контейнера и все запустилось!
redis:
    container_name: redis_container
    image: redis
    command: redis-server
    ports:
      - "14000:6379"
    networks:
      - postgres
  • Вопрос задан
  • 801 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы