我正在使用 Python + Tornado 制作一个 Web 应用程序。写了一个简单的处理程序,例如:
class AdminHandler(BaseHandler):
@tornado.web.authenticated
@tornado.web.asynchronous
@gen.engine
def get(self):
response = yield gen.Task(self.acync_func_test, 'my')
print response
self.render('admin/index.html')
def acync_func_test(self, argument, callback):
for i in xrange(1,59999000):
i**2+2-12
callback(argument)
但是函数不是异步执行的。其他客户端正在等待,直到第一次执行查询。如何进行非阻塞执行?
更新:
为您的 async_func_test() 函数添加了装饰器“@gen.engine”,但仍被阻塞((