美文网首页程序员
Supervisor XML-RPC的使用

Supervisor XML-RPC的使用

作者: 北邮郭大宝 | 来源:发表于2020-07-08 21:44 被阅读0次

    简单记录一下通过调用Supervisor的XML-RPC API接口,实现对Supervisor的操作。

    supervisor的安装与使用可以参考之前的文章Gunicorn+Supervisor部署Flask

    首先需要查看一下目标机器的supervisor.conf配置文件,找到用户名、密码和端口号

    1594214514405.jpg

    API使用很简单,通过python3自带的xmlrpc模块即可连接并执行相关的命令。全部命令可以参考官网http://supervisord.org/api.html#system-methods

    结合notes这个子进程实例,简单说下常见的一些命令。

    from xmlrpc.client import ServerProxy
    
    if __name__ == '__main__':
      server = ServerProxy("http://user:123@localhost:9001/RPC2")
      # 查看基本信息
      print(server.supervisor.getProcessInfo("notes"))
      print(server.supervisor.getAllProcessInfo())
      # start
      print(server.supervisor.startProcess("notes"))
      # 更新配置文件后如何生效
      print(server.supervisor.stopProcess("notes"))
      print(server.supervisor.removeProcessGroup("notes"))
      print(server.supervisor.reloadConfig())
      print(server.supervisor.addProcessGroup("notes"))
      # 查看日志
      print(server.supervisor.readProcessStderrLog("notes",0,2048))
      print(server.supervisor.tailProcessStderrLog("notes",0,512))
    
    • getProcessInfo("notes") 展示"notes"子进程的基本信息

    • startProcess("notes") 启动"notes"子进程

    stopProcess("notes"))
    removeProcessGroup("notes"))
    reloadConfig())
    addProcessGroup("notes"))
    

    这一组操作可以实现更新子进程的配置文件,如何生效的问题。需要首先关掉子进程并移除,其次重新加载配置文件,最后再加载。

    • tailProcessStderrLog("notes",0,512)) tail子进程的日志

    相关文章

      网友评论

        本文标题:Supervisor XML-RPC的使用

        本文链接:https://www.haomeiwen.com/subject/ndghcktx.html