Как создать рабочих сельдерея на отдельных машинах?

Я новичок в celery.I знаю, как установить и запустить один сервер, но мне нужно распределить задачу на несколько машин. Мой проект использует сельдерей для назначения пользовательских запросов, передаваемых в веб-фрейм, на разные машины, а затем возвращает результат. Я прочитал документацию, но там не упоминается, как настроить несколько машин. Что мне не хватает?

2 Solutions collect form web for “Как создать рабочих сельдерея на отдельных машинах?”

Я понимаю, что ваше приложение будет посылать запросы в систему очередей (например, rabbitMQ), а затем вы можете запускать любое количество рабочих на разных машинах (с доступом к тому же коду, что и приложение, которое отправило задание). Они будут выбирать задачи из очереди сообщений, а затем работать с ними. Как только они будут завершены, они обновят базу данных надгробных камней.

Результатом этого является то, что вам не нужно делать ничего особенного, чтобы начинать несколько сотрудников. Просто запустите их на отдельных одинаковых (одинаковых исходных дерева) машинах.

Сервер, у которого есть очередь сообщений, не обязательно должен быть таким же, как тот, который есть у рабочих, и не должен быть таким же, как машины, которые отправляют задания. Вам просто нужно поместить местоположение очереди сообщений в файл celeryconfig.py и все рабочие на всех машинах могут celeryconfig.py задания из очереди для выполнения задач.

Способ, которым я его развернул, выглядит так:

  1. клонировать ваш проект django на экземпляре heroku (это запустит интерфейс)
  2. добавьте RabitMQ в качестве дополнения и настройте его
  3. клонировать проект django в другой экземпляр heroku (назовите его как рабочий), где вы будете запускать задачи сельдерея
  • Процесс CeleryBeat потребляет всю память ОС
  • Сельдерей: цепочки задач с несколькими аргументами
  • как удалить задачу из сельдерея с помощью брокера redis?
  • Запуск задачи после завершения всех задач
  • периодические задания сельдерея не выполняются
  • Состояние задачи сельдерея зависит от CELERY_TASK_RESULT_EXPIRES
  • Повторить задания Сельдерея с экспоненциальным отступлением
  • очереди на кроличом, заполняемые задачами сельдерея
  • Как проверить статус задачи в сельдерей?
  • Сельдерей не возвращает результаты
  • Задание журнала Django Celery
  • Python - лучший язык программирования в мире.