2013-12-08 2 views
5

Рабочими я имею в виду скрипт python, который выполняет некоторую задачу в бесконечном цикле. Этот скрипт должен быть развернут в отдельный экземпляр EC2 и запускаться вечно (возможно, с помощью супервизора).Могу ли я использовать эластичный beanstalk для развертывания рабочих?

Я успешно использую эластичный beanstalk для развертывания веб-приложения с git aws.push, и это отлично работает. Тем не менее, настройка для работника должна быть немного иной, потому что работникам не нужен веб-сервер или эластичный IP. Они также запускаются с другой командой.

Из того, что я читал, я думаю, что то, что я хочу, очень похоже на рабочие динамические процессоры Heroku vs web dynos, но у меня нет опыта с Heroku, поэтому я могу ошибаться.
Возможно ли это с помощью эластичного бобового стебля? Или я должен использовать что-то совершенно другое для развертывания?

Кстати, я использую linux и CLI Elastic Beanstalk.

ответ

3

Я не думаю, что Elastic Beanstalk имеет ту же концепцию, как работник динамометрические стенды Heroku в и веб динамометрические стенды (Хотя я не думаю, что они относятся к вашему случаю, когда вы пытаетесь запустить свой собственный рабочий процесс)

Как это означает, что вы можете управлять своими рабочими где-то в другом месте. (Экземпляр EC2, ваш собственный облачный сервер, некоторые очень настроенные SAS и т. Д.)

Sidekiq/rescue (в мире рубинов) - это нечто, что эквивалентно работающим рабочим независимо. Вы можете попробовать этот подход, описанный в этом blog, и обратиться к вашему конкретному работнику.

+0

спасибо за ответ. Почему вы думаете, что рабочие рабочие Героку отличаются от того, что я хочу? Насколько я понимаю, они похожи на экземпляр ec2, который запускает какую-то пользовательскую команду. –

+0

Мне не нравится подход в сообщении в блоге, потому что я предпочел бы самостоятельно добавлять рабочие/веб-экземпляры. Но в любом случае, если эластичный бобовый шток не поддерживает это, я просто развожу работников, используя что-то еще. –

+0

Я полагаю, что добавление большего количества диносов означает добавление большей мощности для обработки вашего приложения, но оно не обеспечивает подробный контроль над тем, сколько рабочих запущено внутри приложения. Это больше похоже на высокий уровень вычислительной мощности. Но я понимаю, что вы говорите, в вашем случае я предполагаю, что вы можете развернуть второе приложение heroku, которое представляет ваших работников (основное приложение - это ваш веб-сервис, который пользователи-пользователи). Таким образом, если вам нужно больше рабочей силы, вы можете просто увеличить динамику. – Rico

9

Возможность развертывания фоновых процессов (работников) на ElasticBeanstalk фактически была введена 11 декабря.

Посмотрите на объявления: http://aws.typepad.com/aws/2013/12/background-task-handling-for-aws-elastic-beanstalk.html

и документы: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html

+0

Как это сравнивается, чтобы создать рабочее задание в Heroku или создать его в Worker окружающей среды в Beanstalk? – Guillermo

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