2016-04-05 2 views
2

Из моего сегодняшнего чтения во всех примерах, которые я нашел, я не видел, где сельдерей находится в полностью отдельном контейнере от самого Джанго. Кажется, что у Сельдерея есть, чтобы быть в одном контейнере, так как он просматривает исходные файлы приложений и ищет task.py, а также исходный файл celery.py. Правильно это или я неправильно понял сегодня?Можете ли вы запустить Сельдерей в другом контейнере от Django?

Например. Я знаком с использованием docker-compose, чтобы развернуть Django, Nginx, Postgres и контейнер для хранения. Я предположил, что я добавляю контейнер для сельдерея и кролика, но я не вижу возможности настроить Django на использование удаленного сервера Celery.

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

Спасибо,
-p

+0

Есть несколько примеров в Интернете, если вы ищете dercer-compose djeango celery: https://www.syncano.io/blog/configuring-running-django-celery-docker-containers-pt-1/, но, возможно, Я не понимаю вопроса – dkarchmer

+0

Я читал эту статью. Он довольно старый (относится к рис и югу), и он не говорит о том, должен ли сельдерей работать в одном контейнере. Но спасибо за ответ. – Patrick

+2

Это в основном то же самое. Вам нужно запустить один и тот же код, поэтому я думаю, да, вы используете одно и то же изображение, но затем используйте инструкции 'command' и' environment' на своем docker-compose, чтобы запускать его как обычный django, а один - как сельдерей. – dkarchmer

ответ

1

По умолчанию, это то, что произойдет, если вы используете Heroku, это запустить веб Dyno для Джанго, чтобы отвечать на запросы, а другой работник Dyno для сельдерея, каждый Dyno работать на отдельный экземпляр.

Оба динозавра работают по одному и тому же коду, ваш работник сельдерея нуждается в доступе к моделям, и легко управлять/развертывать одну базу кода, но нет ничего, что мешало бы вам использовать другую базу кода для каждого экземпляра, поскольку связь между Django и Celery сделаны с протоколом AMQP, бросив брокера, как Reddis.

Смежные вопросы