How to setup a group in supervisord?

匿名 (未验证) 提交于 2019-12-03 02:50:02

问题:

So I'm setting up supervisord and trying to control several processes and that all works fine, now I want to setup a group so I can start/stop different sets of processes rather than all or nothing. Here's a snippet of my config file.

[group:tapjoy] programs=tapjoy-game1,tapjoy-game2  [program:tapjoy-game1] command=python tapjoy_pinger.py -g game1 directory=/go/here/first redirect_stderr=true autostart=true autorestart=true stopasgroup=true killasgroup=true  [program:tapjoy-game2] command=python tapjoy_pinger.py -g game2 directory=/go/here/first redirect_stderr=true autostart=true autorestart=true stopasgroup=true killasgroup=true 

Now from reading the docs this looks to me like it should work, but calling supervisorctl restart tapjoy: doesn't do anything.

Am I missing something?

Adding a star doesn't give an error, but doesn't do anything either.

supervisorctl restart tapjoy:* supervisorctl status tapjoy_game1                     RUNNING    pid 4697, uptime 1 day, 21:56:23 tapjoy_game2                     RUNNING    pid 4698, uptime 1 day, 21:56:23 tapjoy_game3                     RUNNING    pid 4699, uptime 1 day, 21:56:23 tapjoy_game4                     RUNNING    pid 4700, uptime 1 day, 21:56:23 tapjoy_game5                     RUNNING    pid 4701, uptime 1 day, 21:56:23 

回答1:

You need to use a * wildcard to select all programs in a group:

supervisorctl restart tapjoy:* 

Note: it may that your shell requires you to escape the *, usually with \*



回答2:

I know it's an old thread, but I ran into the same problem, and it would've been good to find the answer here. So for future reference, instead of:

program=tapjoy-game1,tapjoy-game2 

You need:

programs=tapjoy-game1,tapjoy-game2 

Docs: http://supervisord.org/configuration.html#group-x-section-values



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!