zoukankan      html  css  js  c++  java
  • django

    # -*- coding: utf-8 -*-                                                                                                                                                                           
    import os
    import sys
    import tornado.ioloop
    import tornado.web
    import tornado.wsgi
    import tornado.httpserver
    from django.core.handlers.wsgi import WSGIHandler
     
    # 设置 Django 设置模块,sets the default settings module to use
    _HERE = os.path.dirname(os.path.abspath(__file__))
    sys.path.append(_HERE)
    os.environ['DJANGO_SETTINGS_MODULE'] = "settings"
     
    def main(port):
    # 利用 tornado 的http server处理消息请求 wsgi_app
    = tornado.wsgi.WSGIContainer(WSGIHandler())
    # Application 处理请求消息 tornado_app
    = tornado.web.Application(
    # FallbackHandler: RequestHandler that wraps another HTTP server callback.
    # http://www.tornadoweb.org/en/stable/web.html#tornado.web.FallbackHandler
    [(
    '.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)), ])

    # HTTPServer is a very basic connection handler. It parses the request headers and body server
    = tornado.httpserver.HTTPServer(tornado_app) server.listen(port) tornado.ioloop.IOLoop.instance().start() if __name__ == '__main__': try: import setproctitle setproctitle.setproctitle('www:' + sys.argv[1]) except ImportError: pass main(int(sys.argv[1]))

    基本思想:利用 tornado 的 http server,处理消息请求。

    官方文档有介绍:

    • WSGIContainer lets you run other WSGI applications and frameworks on the Tornado HTTP server. For example, with this class you can mix Django and Tornado handlers in a single server.

    详细内容,见代码注释。

  • 相关阅读:
    BeanFactory not initialized or already closed
    点击程序不弹出界面,但有后台服务
    python获取一年所有的日期
    keepalived实现高可用
    解决docker镜像pull超时问题
    docker容器的操作
    docker小结
    docker概述
    docker镜像操作
    python批量下载
  • 原文地址:https://www.cnblogs.com/kevin922/p/3658751.html
Copyright © 2011-2022 走看看