如何在supervisord中设置一个组?
Posted
技术标签:
【中文标题】如何在supervisord中设置一个组?【英文标题】:How to setup a group in supervisord? 【发布时间】:2012-10-07 01:29:00 【问题描述】:所以我正在设置 supervisord 并尝试控制多个进程并且一切正常,现在我想设置一个组,以便我可以启动/停止不同的进程集,而不是全部或全部。这是我的配置文件的 sn-p。
[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
现在从阅读文档来看,这在我看来应该可以工作,但是调用
supervisorctl restart tapjoy:
什么都不做。
我错过了什么吗?
添加星号不会出错,但也不会执行任何操作。
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】:您需要使用*
通配符来选择组中的所有程序:
supervisorctl restart tapjoy:*
注意:您的 shell 可能要求您转义 *
,通常使用 \*
【讨论】:
@EoghanM:输入supervisorctl help restart
,它记录在那里。
啊没有意识到supervisorctl help
之后还有更多文档。在线文档中没有任何内容。
@EoghanM:该项目有一个open issue 以更好地记录该工具。
现在你可以像supervisorctl restart tapjoy:
一样使用不带*的cmd了【参考方案2】:
我知道这是一个旧线程,但我遇到了同样的问题,在这里找到答案会很好。因此,以供将来参考,而不是:
program=tapjoy-game1,tapjoy-game2
你需要:
programs=tapjoy-game1,tapjoy-game2
文档:http://supervisord.org/configuration.html#group-x-section-values
【讨论】:
那只是一个错字。我已经纠正了。问题实际上是需要 \* 而不是 *.以上是关于如何在supervisord中设置一个组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ExpandableListView [Android] 中设置 LongClick 组