tornado框架的簡單實用

一.安裝模塊

pip3 install tornadopython

二.簡單的起服務的方法

import json, datetime
from tornado.web import RequestHandler, Application
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.options import define, options
# 異步
import tornado.gen

# 定義全局變量
define("port", default=9631)


class getTest(RequestHandler):
    def get(self):
        # logDebug("shoppingCart","get:test請求成功")
        return self.write(json.dumps({"code": 200, "message": "請求成功"}, ensure_ascii=False))


class MainHandler(tornado.web.RequestHandler):
    @tornado.gen.coroutine
    def head(self, *args, **kwargs):
        self.write((json.dumps({"Test": "Success"})))


if __name__ == '__main__':
    options.parse_command_line()
    # 建立一個項目應用,接入web服務器
    app = Application([
        (r"/test", getTest),  # 路由名稱  ,getTest 類名
        (r"/checkhead", MainHandler),  # 健康監測通常公司都要加的哦,寫法也是固定的

    ],
        # 也就是須要保證在fork子進程以前IOLoop是未被初始化的。
        # autoreload=False,
        # debug=False,
        settings={
        }
    )
    print('%s--tornado服務啓動' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    # 開始監聽端口,提供服務
    http_server = HTTPServer(app)
    http_server.bind((options.port))
    http_server.start()  # 默認參數1 啓動一個進程
    # start(num) num<=0 按照當前os cpu核心數量 進行 進程啓動 fork
    # num>1 表示經過fork 啓動多個子進程
    # 在啓動IOLoop以前經過start函數設置進程數量,若是設置爲0表示每一個CPU都啓動一個進程。

    IOLoop.current().start()
相關文章
相關標籤/搜索