Запуск RabbitMQ и Celery для Django при запуске экземпляра Amazon Linux 2 на Elastic Beanstalk

Я пытался настроить celery для запуска задач для моего приложения Django на Amazon Linux 2. Все работало на AL1, но все изменилось.

Когда я подключаюсь к экземпляру по SSH, я могу заставить все работать правильно - однако команды при развертывании не работают должным образом.

Я попробовал это в каталоге .platform/hooks/postdeploy:

Как обновить Django Celery App с Elastic Beanstalk Amazon Linux 1 до Amazon Linux 2

Однако, похоже, это не работает. У меня есть команды контейнера для установки epel, erlang и rabbitmq в качестве брокера - они, похоже, работают.

После этого ответа @Jota предлагает:

"Нет, в идеале это должно быть в файле Procfile в корне вашего репозитория. Просто напишите celery_worker: celery worker -A my_django_app.settings.celery.app --concurrency=1 --loglevel=INFO -n worker.%%h. Супер просто."

Как бы мне включить весь скрипт в procfile или только строку: celery_worker: celery worker -A my_django_app.settings.celery.app --concurrency=1 --loglevel=INFO -n worker.%%h

Это, кажется, предполагает, что это будет просто команда:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html

Тогда где будет скрипт, если не в procfile с вышеуказанной строкой?

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