1
我試圖用Tornado's sync-style 'gen' tool運行一個簡單的回聲功能,在無阻塞風格:最簡單的例子tornado.gen
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異步運行此功能?
究竟你的代碼做什麼?因爲回調是None,是不是會在調用echo時產生異常(message =「this is a message」,callback = None)? –
[請參閱「任務」的功能描述](http://www.tornadoweb.org/en/stable/gen.html?highlight=task#tornado.gen)。龍捲風將'gen.Callback'函數傳遞給'echo'。除此之外,我仍然試圖找出自己:) – Cuadue
它缺少一個返回,'回調回調(消息)'。這種方式在產生任務時異步回聲。 – danigosa