3

Python JSON RPCサーバーの実装に関するいくつかのガイドとパッケージに出くわしました。

サーバー/アプリケーションの実装が非常に単純であるという意味で、それらはすべてうまく機能します。結果として python オブジェクトを返すだけで、フレームワークがそれをシリアル化します。ただし、これは主に私のニーズには適していません。データベースからおそらく数千のレコードをシリアル化することを楽しみにしているためです。そのようなソリューションでは、すべてのレコードを含む単一の python オブジェクトを作成し、それを結果として返す必要があります。

私が探している理想的なソリューションには、アプリケーションに応答を書き込むためのストリームを提供するフレームワークと、その場でイテレーター (この場合は pyodbc からのカーソル) をエンコードできる JSON エンコーダーが含まれます。

def process(self, request, response):
  // retrieve parameters from request.

  cursor = self.conn.cursor()
  cursor.execute(sql) // etc.

  // Dump the column descriptions and the results (an iterator)
  json.dump(response.getOut(), [cursor.description, cursor])

書き込み用のストリームを提供できるサーバーフレームワークと、pyodbcカーソルなどのイテラブルを処理してその場でシリアル化できるjsonシリアル化フレームワークを教えてください。

4

1 に答える 1

2

典型的なJSON-RPCフレームワークでは、そのような巨大なデータを効果的にダンプできない場合は、HTTPサーバーを使用してjsonデータを返すだけでなく、ストリーミングされたデータをストリーミングして読み取ることができます。転送が速くなり、apache などの多くの標準サーバーも使用できるようになります。

于 2009-11-11T03:34:24.640 に答える