У меня есть сценарий upstart для запуска пользовательского приложения nodejs. Приложение зависит от couchdb иasticsearch. couchdb иasticsearch предоставляют сценарии init.d для их запуска / остановки. Можно ли сказать моему сценарию выскочки, что couchdb иasticsearch являются зависимостями? Я пробовал это в моем сценарии выскочки, но это не похоже на работу:
начать (запустил couchdb и запустил эластичный поиск)
Спасибо!
Ответы:
Единственное, что я знаю, что это сработает, - это создание (или поиск и установка) сценариев выгрузки для обоих наборов упругого поиска и couchdb, чтобы вы могли использовать опцию «начать с».
источник
У меня был тот же вопрос, и я также нашел другой ответ . Автор перечисляет 4 варианта для достижения этой цели, из которых мне больше всего нравится первый:
Используйте,
initclt emit myservice-started
чтобы сообщить о завершении запуска вашей зависимой службы. В связанном ответе предлагается добавить эту строку в конецinit.d
скрипта службы зависимостей , но я предпочитаю другой метод. Мне нравится создавать новыйinid.d
скрипт с именем,myservice-started
который содержит толькоstart
раздел. Используя соответствующий стиль комментирования в заголовке файла, я заявляю, что это зависит от$myservice
запуска. Вstart
разделе я расскажу выскочку оmyservice
том, как начать. Вы можете установить его с помощьюupdate-rc.d
.Мне нравится это решение, потому что оно не навязчиво; если обновление изменяет какой-либо из существующих
init.d
сценариев, это не повлияет на эти дополнительные сценарии. Но помните , что изменения в ваших новомодных скрипты будут необходимы.Это может выглядеть так:
Ваш сценарий upstart, ожидающий myservice, может прослушать
myservice-started
событие:источник