Назад | Перейти на главную страницу

Задача инициализации Upstart

Вот мой вариант использования. У меня есть давно работающий сервер, который запускает выскочка. Этот сервер необходимо сначала инициализировать (заполнить таблицы в базе данных). Это должно произойти только один раз за время существования службы (и снова при миграции), поэтому не может быть привязано к действию запуска / остановки.

Как это настроить в выскочке? Могу ли я установить это без «start myservice-init; start myservice»?

Перепубликовано с https://stackoverflow.com/questions/24442123/upstart-init-task?noredirect=1#comment37820533_24442123 так как это было приостановлено там.

Есть ли способ проверить по sh, нужна ли популяция db? Если да, ты можешь это получить

start on starting myservice
task
pre-start script
    dbinitneeded || { stop; exit 0; }
end script
# init the db here with a script or exec