1

TThreadedServer モードで Thrift サーバーを使用しているときに、奇妙な問題に遭遇しました。私のテスト クライアントは、サーバーに対して並列呼び出し (100 呼び出し) を行います。私のリサイクル サービスの 2 つの方法がload_account() と であるとしgetRequestQueueCoun()ます。これらのメソッドには、send_load_account and recv_load_account(). send_getRequestQueueCoun()recv_getRequestQueueCoun()

私が直面している問題は、send_getRequestQueueCoun()通話の応答が にキャプチャされていることrecv_load_account()です。

次の行で応答を見つけました

def recv_load_account(self, ):
(fname, mtype, rseqid) = self._iprot.readMessageBegin()  # here fname is the other method.

サーバー初期化コード -

handler =   SyncServiceHandler(settings.SERVER_NAME,settings.SERVER_LISTEN_IP,settings.SERVER_LISTEN_PORT,isDispatcher)
transport = TSocket.TServerSocket(settings.SERVER_LISTEN_IP, settings.SERVER_LISTEN_PORT)
processor = SyncService.Processor(handler)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)

異なるポートの localhost で 2 つの thrift インスタンスを実行しています。

Python 2.7 で Thrift を使用しています。

私は自分の問題をすばやく下書きするために最善を尽くしました。それでも不明な場合は、詳しく説明できるかどうかをお知らせください。

前もって感謝します。パナクジ

4

0 に答える 0