显示部分搜索结果的最佳做法(从辅助服务器进入时逐个显示)

时间:2013-01-13 15:28:52

标签: python ajax django cgi daemon

我想做以下事情:

  • 将django站点(第一台服务器)上的查询发送到第二台 服务器(出于性能和安全原因)
  • 使用sqlite
  • 在第二台服务器上处理查询
  • python搜索功能必须在内存中保留大量数据。一个简单的cgi总是需要从磁盘重新读取数据,这将进一步减慢搜索过程。所以我想我需要一些守护进程在第二台服务器上运行。
  • 搜索过程很慢,我想发回部分结果,并在他们到达时显示。

这看起来像是一项常见的任务,但不知怎的,我没有得到它。

我首先尝试了Pyro,它暴露了搜索类(然后我需要一个解决方法来避免sqlite线程问题)。我设法将完整的搜索结果放到第一台服务器上,但仅作为一个整体。我不知道如何逐步“产生”结果(因为生成器不能被腌制),而且我无论如何都不知道如何将它们逐个写入搜索结果页面。

我可能需要一些“推送技术”这个帖子说:https://stackoverflow.com/a/5346075/1389074谈论一些不同的框架。但是哪个?

我似乎没有寻找合适的条款。也许有人可以指点我的一些讨论或框架来解决这个问题?

提前多多感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用python tornado websockets。这将允许您建立从客户端到服务器的双向连接,并在数据到来时返回数据。 Tornado是一个用python构建的异步框架。