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)
创建一个普通的未来发生同样的情况
感谢&问候 马库斯