Tornado アプリケーション内でスレッドとフューチャーを時折使用するにはどうすればよいですか?
私のサーバーは時折、別のスレッドまたはプロセスで長時間実行されるタスクを実行する必要があります (タスクは GIL を解放します)。
from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(10)
future = executor.submit(func, *args, **kwargs)
この未来をトルネード イベント ループに統合するにはどうすればよいですか? 理想的には、この統合はtornado.gen
コルーチンとうまく機能します。未来を遮らずに譲りたい。これを達成するための最良の方法は何ですか?
理想的には、から譲歩したいと思いconcurrent
Future
ます。
f
以下を可能にする機能を探しています
@gen.coroutine
def my_coroutine(...)
...
future = executor.submit(func, *args, **kwargs)
result = yield f(future)