gpt4 book ai didi

python - supervisord 停止/启动所有进程但排除 X 和 Y 进程

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:29 24 4
gpt4 key购买 nike

我试图在一个 XMLRPC 调用中停止在由 Supervisord 管理的远程服务器上运行的大约 20 个服务。

但是,我想从中排除某些进程,如果我能按照以下方式做一些事情那就太好了:

stopAllProcesses(exclude=["monitorapp","nagios"])

或者,我确实有一个所有可用进程的列表,因此即使执行类似下面的操作也比实际停止所有服务或执行 20 个单独调用要好:

stopProcess(["process1","process2","process3"])

这比做更好:

stopProcess("process1")
stopProcess("process2")
stopProcess("process3")

如有任何帮助,我们将不胜感激!

谢谢

最佳答案

supervisord 中的 XML-RPC 服务器支持 system.multicall() endpoint .使用它来发送 groupstopProcess 调用,使用 MultiCall XML-RPC proxy :

multicall = xmlrpclib.MultiCall(serverproxy)
for proc in procs:
if proc in exclude:
continue
multicall.supervisor.stopProcess(proc)
res = multicall()

serverproxysupervisord 服务器的 XML-RPC 代理。这些调用将作为一个 HTTP 请求发送,并在服务器上连续处理,不会比 stopAllProcesses() 快或慢;后者在内部为找到的每个进程调用 stopProcess

关于python - supervisord 停止/启动所有进程但排除 X 和 Y 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com