我正在尝试用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交谈时变得扭曲?在
来自Asyncmongo README:“AsyncMongo是一个用于访问mongo的异步库,它构建在tornado ioloop之上。”
所以是的,这取决于龙卷风。在您的示例代码中,如果启动Tornado IOLoop,它应该可以工作。至于使用Twisted的东西,看起来@Jean-Paul-Calderone的link是您的最佳选择。在
尝试https://github.com/fiorix/mongo-async-python-driver
相关问题 更多 >
编程相关推荐