import tornadoweb
class MainHandler(tornadowebRequestHandler):
def get(self):
selfwrite("Hello, world")
application = tornadowebApplication([
(r"/", MainHandler),
])
if __name__ == "__main__":
applicationlisten(8888)
tornadoioloopIOLoopinstance()start()
一旦tornadoioloopIOLoopinstance()start()被调用时,它会阻止程序(或当前线程)。阅读的源代码IOLoop对象给出这个例子中的stop函数:To use asynchronous methods from otherwise-synchronous code (such as
unit tests), you can start and stop the event loop like this:
ioloop = IOLoop()
async_method(ioloop=ioloop, callback=ioloopstop)
ioloopstart()
ioloopstart() will return after async_method has run its callback,
whether that callback was invoked before or after ioloopstart
不过,我不知道如何整合到这一点我的程序。其实我有一个封装了Web服务器的类(有它自己的start和stop函数),但只要我打电话开始 CodeGonet,程序(或测试)当然会块呢。 我试图启动另一个进程中的Web服务器(使用multiprocessing包)。这是包装的Web服务器的类:class Server:
def __init__(self, port=8888):
selfapplication = tornadowebApplication([ (r"/", Handler) ])
def server_thread(application, port):
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)