Tornado-入門基礎(二)内蔵サーバー

1931 ワード

一:tonado内蔵サーバー
内蔵サーバーはプログラム操作中にlisten()を通じて一つのポートを傍受し、IOLoopオブジェクトを通じてイベントポーリングの傍受処理を行った。
二:内蔵サーバーの下の操作コードを分析する(下のコードを確認する)
ウェブアプリをアプリとして定義します。
  • app.listen(8000)# :
  • server = HTTPServer(app)# app server.listen(8000)# 8000 --
  • server =HTTPServer(app)# , server.bind(8000)# 8000 server.start()#
  • 拡張:下の操作コードを見て知ることができます。server.start(none/0):現在動作しているハードウェアホストCPUのコア数に応じて、対応する複数のプロセスserver.start(1/)を作成することを示します。デフォルト値は、現在のプロセスにおける直接的なラインサーバを表します。デフォルトはシングルプロセスserver.start(>1)です。:指定された数で複数のプロセスを作成する
  • 推荐:tonadoデフォルトのシングルプロセスのスレッドの実行モードは、もちろん、多プロセスの実行を介して手動で複数のプロセスを制御することを推奨します。
  • 手動多プロセス操作方式は、define()によってポートsportを変数eg:define(「port」、default=8000)として定義します。command_ライン()この変数をコマンドラインとして受け入れられるパラメータオプション
  • コマンドラインで指定されたパラメータプログラムの実行を受け付けると、コマンドラインパラメータの値を受け取ることができます。プログラムを実行すると、その使用パラメータに含まれるデータ値を指定します。ポートeg:python demo01.py --port==8000 python demo01.py --port==8000
  • 三:結び
  • 話は多くなくて、直接に干物に来ます。一つのアプリケーションコード
  • from tornado.web import RequestHandler, Application
    from tornado.ioloop import IOLoop
    from tornado.options import define, options, parse_command_line
    from tornado.httpserver import HTTPServer
    
    #    
    define('port', default=8088, help='this is well fly')
    
    
    #     
    class IndexHandler(RequestHandler):
    
        #  get  
        def get(self, *args, **kwargs):
            self.write('i am tornado')
    
    
    #    
    if __name__ == '__main__':
    
        #             ,           define  
        parse_command_line()
    
        #  web Application
        app = Application([(r'/', IndexHandler),
                           ])
    
        #     server
        server = HTTPServer(app)
        server.bind(options.port)
        server.start()
    
        #      
        IOLoop.current().start()
    
    次号に続く…