1
開始使用@run_on_executor我有以下問題,這個小龍捲風測試:龍捲風:線程沒有在協程
class SimpleIOLoopTests(tornado.testing.AsyncTestCase):
def setUp(self):
super(SimpleIOLoopTests, self).setUp()
def test_executor_future(self):
self.executor = ThreadPoolExecutor(2)
@run_on_executor
def wait_and_return_a_value():
time.sleep(2)
return 20
@coroutine
def async_compare(callback):
val = yield wait_and_return_a_value()
assert_that(val, equal_to(20))
callback()
async_compare(self.stop)
self.wait()
點是測試只是循環,直到超時發生。調試代碼看起來好像executor-future被創建爲done(),因此甚至沒有被io_loop啓動。
我在這裏做錯了什麼?幫助解決這個問題是非常感謝
順便說一句:如果我使用@return_future裝飾像這樣的(爲其它是真正的意外是已經完成)
@return_future
def get_value(callback):
callback(10)
創建一個普通的未來發生同樣的情況
感謝&問候 馬庫斯