3

Я ищу прямой способ запустить Сельдерей в условиях эластичного бобового стебля. Существует ли это, или мне нужно использовать SQS?Может ли сельдерей работать на эластичном бобовом стебле?

Я попытался поместить строку в файл .config без хороших результатов. Это мой .config файл:

container_commands: 
    01_syncdb: 
    command: "django-admin.py syncdb --noinput" 
    leader_only: true 
    02_collectstatic: 
    command: "./manage.py collectstatic --noinput" 
    03_migrate: 
    command: "./manage.py migrate --noinput" 
    04_start_celery: 
    command: "./manage.py celery worker &" 

Когда я SSH на сервер EC2 и запустить ps -ef | grep celery это показывает, что сельдерей не работает.

Любая помощь приветствуется. Благодаря!

+1

Не могли бы вы расширить "без хороших результатов"? Каковы результаты? Есть ли сообщения об ошибках, которые вы можете нам показать? –

+0

Хорошая точка. Я обновил детали вопроса. Сельдерей просто не работает на коробке (нет ошибки, которую я вижу). –

ответ

4

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

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

См http://junkheap.net/blog/2013/05/20/elastic-beanstalk-post-deployment-scripts/ и How do you run a worker with AWS Elastic Beanstalk?

+0

На самом деле, я смог получить эту работу на Эластичном бобовом стебле намного более чистым способом, используя https://github.com/rfk/django-supervisor, чтобы работать с сельдереем в качестве демонов, которые сохраняются через развертывание. Я должен был добавить несколько крючков для развертывания, чтобы обеспечить новый запуск этой службы. –

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