当前位置: 首页>>代码示例>>Python>>正文


Python HTTPServer._pending_sockets方法代码示例

本文整理汇总了Python中tornado.httpserver.HTTPServer._pending_sockets方法的典型用法代码示例。如果您正苦于以下问题:Python HTTPServer._pending_sockets方法的具体用法?Python HTTPServer._pending_sockets怎么用?Python HTTPServer._pending_sockets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tornado.httpserver.HTTPServer的用法示例。


在下文中一共展示了HTTPServer._pending_sockets方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import _pending_sockets [as 别名]
def main():
    parser = argparse.ArgumentParser(description='Development Server Help')
    parser.add_argument("-p", "--port", action="store", dest="port", type=int,
                        help="listening port", default=8000)
    parser.add_argument("-n", "--num_processes", action="store", dest="num_processes", type=int,
                        help="num of worker processes", default=8)
    parser.add_argument("-m", "--multi_port", action="store_true", dest="multi_port",
                        help="use different port for each process", default=False)
    parser.add_argument("-c", "--cpu_set", action="store", dest="cpu_set",
                        help="run on cpu set", default="")
    parser.add_argument("-x", "--xperf", action="store_true", dest="xperf",
                        help="collect call stacks with python-flamegraph", default=False)
    args = parser.parse_args()

    print("Server starting with master pid {}".format(posix.getpid()))
    posix.setpgid(0, 0)
    register_signal_handler_for_master()

    if args.xperf:
        dest_dir = "xperf-log/{}".format(datetime.datetime.utcnow().timestamp())
        os.system("mkdir -p {}".format(dest_dir))

    port = args.port
    if not args.multi_port:
        http_server = HTTPServer(WSGIContainer(app))
        http_server.bind(port)
        #http_server.start(args.num_processes)
        tornado.process.fork_processes(args.num_processes)
        sockets = http_server._pending_sockets
        http_server._pending_sockets = []
        http_server.add_sockets(sockets)
    else:
        tornado.process.fork_processes(args.num_processes)
        sockets = tornado.netutil.bind_sokets(args.port + tornado.process.task_id())
        http_server = HTTPServer(WSGIContainer(app))
        http_server.add_sockets(sockets)

    thread = None
    if args.xperf:
        from flamegraph.flamegraph import ProfileThread
        thread = ProfileThread(open("{}/perf-{}.log".format(dest_dir, posix.getpid()), "w"), 0.001, None)
        thread.start()

    register_signal_handler_for_worker(thread)
    IOLoop.instance().start()
开发者ID:nakedou,项目名称:stock,代码行数:47,代码来源:run_with_tornado.py


注:本文中的tornado.httpserver.HTTPServer._pending_sockets方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。