Upstart 初始化任务

Upstart 初始化任务

以下是我的用例。我有一个由 upstart 启动的长期运行服务器。此服务器需要先初始化(在数据库中填充表)。这在服务的生命周期中应该只发生一次(迁移时再发生一次),因此不能与启动/停止操作绑定。

我该如何在 upstart 中设置它?我可以不使用“start myservice-init; start myservice”来设置它吗?

转载自https://stackoverflow.com/questions/24442123/upstart-init-task?noredirect=1#comment37820533_24442123因为它被搁置在那里。

答案1

有没有办法从 sh 检查是否需要数据库填充?如果是的话,你可以这样做

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

相关内容