Я искал какое-то время при создании рабочих узлов в собственном приложении для облаков. Я планирую иметь группу автообновления рабочих узлов, вытягивающих задания из очереди, ничего особенного там.Сохранение Ruby Service на Elastic Beanstalk
Мне просто интересно, существует ли какой-либо лучший способ убедиться, что скрипт (например, ruby) работает постоянно? Мое предположение заключается в том, что у вас есть сценарий, который проверяет очередь на задания и спит в течение нескольких секунд или около того, если запрос задания не возвращает никакого нового задания.
Что действительно привлекло мое внимание, это ключ Services в разделе пользовательской конфигурации Linux в AWS Elastic Beanstalk Documentation.
00_start_service.config
services:
sysvinit:
<name of service>:
enabled: true
ensureRunning: true
files: "<file name>"
sources: "<directory>"
packages:
<name of package manager>:
<package name>: <version>
commands:
<name of command>:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
пример они дают это ..
services:
sysvinit:
myservice:
enabled: true
ensureRunning: true
Я нашел пример и документацию крайне неопределенными, и я понятия не имею, как получить моя собственная служба работает и запускается с использованием этого ключа конфигурации, что означает, что я даже не знаю, что это то, что я хочу или должен использовать. Я попытался создать исполняемый файл ruby и поместить имя в поле, но не повезло.
Я попросил форумы AWS получить дополнительные разъяснения и не получил ответа.
Если у кого есть какие-либо идеи или указания относительно того, как это может быть достигнуто, я был бы очень признателен. Спасибо!
Я столкнулся с аналогичной проблемой, но с Python. Не запускает ли команда процесс установки или вы вызываете его как процесс bg («&»)? – winwaed
@winwaed эй, извините за последнее уведомление. Я начал использовать Upstart, он позволяет вам создать системный сервис и поддерживать его работу! – johntraver
Спасибо, я посмотрю. – winwaed