2016-12-06 16 views
0

私はそうのように、竜巻で他の図書館からの非同期メソッドを呼び出したい:Tornadoで余分な非同期メソッドを呼び出す方法は?

class Database: 
    async def find_info(user_id): 
     pass 

class TestClass(tornado.web.RequestHandler): 
    def get(self, id): 
     db = Database() 
     user = yield db.find_info(user_id=id) 
     return self.write(user.username) 

しかし、それはモードを寝ようなものになり、私はどんな結果を得ることは決してないだろう。

答えて

2

他にどのライブラリがありますか?ほとんどの非同期関数は、特定のイベントループ(Tornado、asyncio、Twistedなど)用に記述されています。あなたがそれらに尋ねない限り、異なるイベントループは協力しません。 Tornado/asyncioの相互運用性をtornado.platform.asyncio.AsyncIOMainLoop

+0

と有効にすることをお勧めします。 'AsyncIOMainLoop'によって私は自分自身のライブラリを作成することはできますか? – Mortezaipo

+0

IOLoop実装の選択は、ライブラリにではなく、アプリケーションに依存します。ライブラリーを作成する場合は、tornado.ioloop.IOLoopまたはasyncio.EventLoop(各フレームワークの汎用インターフェース)のいずれかを使用することができます。 –

関連する問題