向 upstart 作业传递参数

向 upstart 作业传递参数

我想通过将参数传递给启动作业来运行我的进程的多个实例:

start myapp instance1
start myapp instance2 

等等

我想要一个 upstart conf 文件,而不是拥有与我的应用程序实例一样多的 conf 文件。这可能吗?

答案1

我意识到这个问题有点老了,但我会继续回答它。:)

是的,您可以这样做,并且使用 upstart“实例”子句来执行此操作。

这是一个简单的例子(在本例中使用基于 PHP 的作业)。

description "Async insert workers"
author      "Mike Grunder"

env SCRIPT_PATH="/path/to/my/script"

# This is the key bit
instance $N

script
    php $SCRIPT_PATH/worker.php
end script

如果您在该脚本中看到,您会看到一行instance $N。您可以像这样指定实例:

start the-job N=instance1
start the-job N=instance2

显然,你可以改变N成任何你喜欢的。

现在我又重新开始寻找如何自动启动它们的方法!:)

相关内容