博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tor_api
阅读量:7165 次
发布时间:2019-06-29

本文共 1138 字,大约阅读时间需要 3 分钟。

hot3.png

# -*- coding:utf-8 -*-

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

import tornado.gen

from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor
import time
from tornado.options import define, options
define("port", default=8000, help="run on the given port", type=int)

class SleepHandler(tornado.web.RequestHandler):
    executor = ThreadPoolExecutor(200)

    @tornado.web.asynchronous

    @tornado.gen.coroutine
    def get(self):
        # 假如你执行的异步会返回值被继续调用可以这样(只是为了演示),否则直接yield就行
        print 'a'
        res = yield self.sleep()
        self.write("when i sleep %s s" % res)
        print 'b'
        self.finish()

    @run_on_executor

    def sleep(self):
        time.sleep(5)
        return 5

class JustNowHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("i hope just now see you")

if __name__ == "__main__":
    tornado.options.parse_command_line()
    app = tornado.web.Application(handlers=[
            (r"/sleep", SleepHandler), (r"/justnow", JustNowHandler)])
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()
 

转载于:https://my.oschina.net/u/2367514/blog/1014858

你可能感兴趣的文章