tornado equivalent of delay

后端 未结 3 2011
無奈伤痛
無奈伤痛 2020-12-29 07:24

Is there an equivalent command in tornado for delay function without affecting the main process to sleep (thus the callbacks would execute even when the main thread is dealy

3条回答
  •  再見小時候
    2020-12-29 08:02

    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()
    

    Taken from here.

提交回复
热议问题