Supervisord - номер программы как параметр

У меня есть набор программ под управлением supervisord. Есть программа, назовем ее myprogram, которую мне нужно запустить в 15 экземплярах. Это легко сделать с параметром numprocs.

Есть ли способ передать номер процесса в качестве аргумента командной строки программе, чтобы каждый экземпляр знал свой номер?

Мне нужно добиться того же, что и при запуске в командной строке:

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

person Pavel S.    schedule 02.09.2014    source источник


Ответы (2)


Да, в вашем параметре «команда» в вашей конфигурации вы можете использовать %(process_num)d, например

command=myprogram %(process_num)d
person JonathanS    schedule 22.09.2014

вы также можете использовать переменную envionment: например:

environment=num=%(process_num)02d

Затем вы можете использовать функцию getenv() для получения номера процесса. Обычно я предпочитаю этот метод, потому что предпочитаю резервирование параметров функциональным вопросам.

person Nadir    schedule 05.06.2017