Supervisord - 程序编号作为参数

时间:2014-09-02 16:25:25

标签: supervisord

我有一套由supervisord管理的程序。有一个程序,我们称之为myprogram,我需要在15个实例中运行它。使用numprocs参数很容易。

有没有办法将进程号作为命令行agrument传递给程序,以便每个实例都知道它的编号?

我需要实现与在命令行中运行相同的事情:

$ myprogram 1
$ myprogram 2
$ myprogram 3
$ myprogram 4
....

2 个答案:

答案 0 :(得分:2)

是的,在配置中的'command'参数中,您可以使用%(process_num)d,例如

command=myprogram %(process_num)d

答案 1 :(得分:1)

你也可以使用一个环境变量: 像这样:

environment=num=%(process_num)02d

然后,您可以使用getenv()函数来获取进程号。我通常更喜欢这种方法,因为我更喜欢将参数保留给函数。