我正在尝试使用Tornado 的同步样式“gen”工具以非阻塞样式运行简单的 echo 函数:
import tornado.web
import tornado.gen
import logging
def echo(message):
return message
@tornado.gen.engine
def runme():
response = yield tornado.gen.Task(echo, 'this is a message')
logging.warn(response)
runme()
据我所知,此代码与文档中的演示代码没有显着不同,减去不必要的请求处理程序的东西 - 我没有处理任何 HTTP 请求,AFAICT 与异步运行某些东西是正交的。然而,这总是失败:
Traceback (most recent call last):
File "./server.py", line 46, in <module>
runme()
TypeError: wrapper() takes at least 1 argument (0 given)
我到底在哪里错过了论点?如何让 Tornado 异步运行这个函数?