簡體   English   中英

Asyncmongo和Twisted

[英]Asyncmongo and Twisted

我正在嘗試使用Mongodb對Twisted&Tornado進行一些基准測試。

我有使用PyMongo運行的Twisted和Tornado(我知道這不是異步 - 我只是很好奇)

我和Asyncmongo一起運行Tornado。 我不能讓Twisted與Asyncmongo一起跑步。

作為一個實驗,我寫了一些簡單的代碼來測試asyncmongo,並且永遠不會調用回調。 所以現在我想知道是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來解決回調問題? 如果不是,人們通常如何與蒙古人交談?

來自Asyncmongo README :“AsyncMongo是一個用於訪問基於龍卷風ioloop的mongo的異步庫。”

所以,是的,它取決於龍卷風。 在您的示例代碼中,如果您啟動Tornado IOLoop,它應該可以工作。 至於與Twisted一起使用的東西,看起來@ Jean-Paul Calderone的鏈接是你最好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM