我必须创建一个 python(扭曲)应用程序,它通过 XML-RPC 接受来自客户端的连接,并执行可能需要多个步骤的操作。 xml-rpc 实现没有典型的 session 支持,所以我需要实现它。
我认为我需要的是某种类型的持久对象,它跟踪多步操作的进度,并为客户端提供一个 key ,它可以使用该 key 来识别它发起的操作、获取状态更新或发送命令(暂停/取消等)。
对我来说,一个合适的模型是“工作”;谷歌搜索“python 作业库”会产生预期的无用结果。
在我实现这个之前,有没有我可以使用的现有东西?
谢谢!
请您参考如下方法:
我想你可以在服务器中有一个持久对象,比如:
from twisted.web import xmlrpc, server
class MultiStep(xmlrpc.XMLRPC):
def __init__(self) :
xmlrpc.XMLRPC.__init__(self)
self.db = {}
def getX(self, user, x):
self.db[user] = {'x' : x}
return 'OK'
def getY(self, user, y):
self.db[user]['y'] = y
return 'OK'
def plus(self,user) :
return self.db[user]['x'] + self.db[user]['y']
if __name__ == '__main__':
from twisted.internet import reactor
r = MultiStep()
reactor.listenTCP(6666, server.Site(r))
reactor.run()
