0
我正在寫一個龍捲風web服務器,我試圖阻止它在一個函數上被阻塞。如何編寫一個可以同時接受多個客戶端的龍捲風web服務器?
class TokenHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def post(self):
global t
email = self.get_argument("text")
thread = MetaToken.ExeThread(email,t,self._on_response)
thread.start()
#data = t.analyze(email)
def _on_response(self,json):
self.write(json)
self.finish()
分析在t中被調用,可能需要幾秒鐘才能完成。只要其他客戶請求可以同時處理,我也可以。這在大部分情況下工作,但會在流關閉的某些連接上發生錯誤。
如果不知道'Metatoken.ExeThread'如何工作,很難調試你的程序。什麼是全球性的't'變數?難道後續的請求會使用相同的全局變量,並與回調混淆,導致「流關閉」錯誤? – lbolla