4

私はsockjs-tornadoでサーバーを構築していますが、tornadoの非同期HTTPクライアント、またはasyncmongo、tornado-redisなどのtornadoの他の非同期機能をどのように利用できるのでしょうか。どうやらtornado.web.asynchronoustornado.gen.engineデコレーターを使用することはできません。ランダムな方法で。したがって、SockJSConnection内から非同期のMongo / HTTP / Redis呼び出しを行う必要がある場合on_message()、どのようにすればよいですか?

4

1 に答える 1

8

あなたがしなければならないのは、tornado.genデコレータによって装飾されるメソッド(または関数)を作成することです

あなたがそれを行う方法を説明するために小さな要点を作成しました:https ://gist.github.com/3708549

サンプルを実行してサーバーコンソールを確認すると、次の出力が表示されます。

1-リクエストを行う

2-on_messageから返されます

... わずかな遅延 ...

3-クライアントにデータを送信しました

したがって、ioloopをブロックしておらず、バックグラウンドでHTTP呼び出しを行います。

于 2012-09-12T17:53:19.357 に答える