Asyncmongo和Twisted

2024-06-16 10:44:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我用PyMongo运行过扭曲和龙卷风(我知道这不是异步的-我只是好奇)

我有龙卷风在运行Asyncmongo。 我不能用Asyncmongo运行。在

作为一个实验,我编写了一些简单的代码来测试asynchmongo,而且回调永远不会被调用。所以现在我想知道asyncmongo是否与龙卷风有关?在

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的reactor/deferreds来触发回调?如果不是的话,人们怎么会在和Mongo交谈时变得扭曲?在


Tags: dbmainonresponsemongodbdeftwisted基准
2条回答

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

所以是的,这取决于龙卷风。在您的示例代码中,如果启动Tornado IOLoop,它应该可以工作。至于使用Twisted的东西,看起来@Jean-Paul-Calderone的link是您的最佳选择。在

相关问题 更多 >