3

我遇到了几个关于实现 python JSON RPC 服务器的指南和包,例如:

从服务器/应用程序实现非常简单的意义上说,它们都做得很好,您只需返回 python 对象作为结果,框架会负责序列化它。但是,这不适合我的需求,主要是因为我期待从数据库中序列化可能数千条记录,而这样的解决方案将要求我创建一个包含所有记录的单个 python 对象并将其作为结果返回。

我正在寻找的理想解决方案将涉及一个框架,该框架将为应用程序提供一个用于写入响应的流和一个 JSON 编码器,该编码器可以动态编码迭代器(在本例中为来自 pyodbc 的游标),如下所示:

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])

有人可以指出一个服务器框架,它可以为我提供一个要写入的流和一个 json 序列化框架,它可以处理诸如 pyodbc 游标之类的可迭代对象并即时对其进行序列化。

4

1 回答 1

2

如果典型的 JSON-RPC 框架不允许您有效地转储如此庞大的数据,为什么不直接使用 HTTP 服务器并返回 json 数据,这样您就可以流式传输和读取流式数据,好在您甚至可以将其 gzip 用于传输速度更快,您也可以使用许多标准服务器,例如 apache。

于 2009-11-11T03:34:24.640 回答