[英]tornado equivalent of delay
在龙卷风中是否有等效的命令用于延迟功能而不影响主进程进入休眠状态(因此即使主线程正在分析新的函数调用,回调也会执行)
Try this: 试试这个:
import time
from tornado.ioloop import IOLoop
from tornado.web import RequestHandler, asynchronous
from tornado import gen
class MyHandler(RequestHandler):
@asynchronous
@gen.engine
def get(self):
self.write("sleeping .... ")
self.flush()
# Do nothing for 5 sec
yield gen.Task(IOLoop.instance().add_timeout, time.time() + 5)
self.write("I'm awake!")
self.finish()
Note that since 4.1 they've added a gen.sleep(delay)
method. 请注意,自4.1以来,他们添加了gen.sleep(delay)
方法。
so 所以
yield gen.Task(IOLoop.instance().add_timeout, time.time() + 5)
would just become 会成为
yield gen.sleep(5)
class MyHandler(RequestHandler):
@asynchronous
def get(self):
self.write("sleeping .... ")
self.flush()
IOLoop.instance().add_timeout(time.time() + 5, self._process)
def _process(self)
# Do nothing for 5 secs
self.write("I'm awake!")
self.finish()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.