2011-01-21 6 views
2

XML-RPC経由でクライアントからの接続を受け取り、複数の手順が必要な操作を実行するPython(ツイスト)アプリケーションを作成する必要があります。 xml-rpc実装には典型的なセッションサポートがありませんので、実装する必要があります。「ステートレスな」xml-rpcアプリケーションへのセッションのサポート

私が必要と考えるのは、複数ステップの操作の進行状況を追跡し、クライアントが開始した操作を識別したり、状態の更新を取得したり、コマンドを送る(一時停止/キャンセルなど)。

私にとって、これに適したモデルは「ジョブ」です。 "python job library"のグーグルが期待していた無駄な結果をもたらす。

これを実装する前に、代わりに使用できるものがありますか?

ありがとうございます!

答えて

0

私のようなもの、あなたがサーバーに永続オブジェクトを持つことができると思う:

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() 
関連する問題