【问题标题】:Asyncmongo and TwistedAsyncmongo 和 Twisted
【发布时间】:2012-03-03 23:21:23
【问题描述】:

我正在尝试使用 Mongodb 对 Twisted & Tornado 进行一些基准测试。

我使用 PyMongo 运行 Twisted 和 Tornado(我知道这不是异步的 - 我只是好奇)

我用 Asyncmongo 运行 Tornado。 我无法使用 Asyncmongo 运行 Twisted。

作为一个实验,我编写了一些简单的代码来测试 asyncmongo,并且从未调用过回调。所以现在我想知道 asyncmongo 是否与 Tornado 相关联?

import asyncmongo

def main():
  db = asyncmongo.Client(pool_id='mydb', host='localhost', port=27017, maxcached=10, maxconnections=10, dbname='mydb')
  db.houses.find({'price':25, }, callback=_on_response )
  print "query done"

  while True:
    pass

def _on_response(self, response, error):
  print "yay - response"

if __name__ == '__main__':
  main()

"yay - response" - 从不显示 - 回调未激活。

如果您不使用任何框架,是否可以触发回调?是否可以使用 Twisted 的反应器/延迟来触发回调?如果不是,人们通常如何 Twisted 与 Mongo 交谈?

【问题讨论】:

  • 我愿意接受这两个答案 - 感谢您的帮助

标签: python twisted tornado pymongo


【解决方案1】:
【解决方案2】:

来自Asyncmongo README:“AsyncMongo 是一个用于访问 mongo 的异步库,它建立在 tornado ioloop 之上。”

是的,它依赖于 Tornado。在您的示例代码中,如果您启动 Tornado IOLoop,它应该可以工作。至于与 Twisted 一起使用的东西,看起来@Jean-Paul Calderone 的链接是你最好的选择。

【讨论】:

    猜你喜欢
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 2011-05-25
    相关资源
    最近更新 更多