我正在寻找一种方法来防止多个主机同时向Python XMLRPC监听器发出命令.侦听器负责运行脚本以在该系统上执行任务,如果多个用户同时尝试发出这些命令,则会失败.有没有办法可以阻止所有传入的请求,直到单个实例完成?
我认为python SimpleXMLRPCServer模块就是你想要的.我相信该模型的默认行为是在处理当前请求时阻止新请求.默认行为给了我很多麻烦,我通过在ThreadingMixIn类中混合改变了这种行为,这样我的xmlrpc服务器就可以同时响应多个请求.
class RPCThreading(SocketServer.ThreadingMixIn, SimpleXMLRPCServer.SimpleXMLRPCServer): pass
如果我正确理解您的问题,SimpleXMLRPCServer就是解决方案.只需直接使用它.