W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
WSGI 是 Web 服務(wù)器的 Python 標(biāo)準(zhǔn),允許 Tornado 與其他 Python Web 框架和服務(wù)器之間的互操作性。
該模塊通過(guò) ?WSGIContainer
類提供 WSGI 支持,這使得使用 Tornado HTTP 服務(wù)器上的其他 WSGI 框架運(yùn)行應(yīng)用程序成為可能。 不支持反向; Tornado ?Application
?和 ?RequestHandler
類是為 Tornado ?HTTPServer
設(shè)計(jì)的,不能在通用 WSGI 容器中使用。
使 WSGI 兼容的函數(shù)可在 Tornado 的 HTTP 服務(wù)器上運(yùn)行。
注意:
WSGI 是一個(gè)同步接口,而 Tornado 的并發(fā)模型是基于單線程異步執(zhí)行的。 這意味著使用 Tornado 的 ?WSGIContainer
運(yùn)行 WSGI 應(yīng)用程序的可擴(kuò)展性低于在多線程 WSGI 服務(wù)器(如 ?gunicorn
或 ?uwsgi
?)中運(yùn)行相同的應(yīng)用程序。 僅當(dāng)在同一進(jìn)程中組合 Tornado 和 WSGI 的好處大于降低的可伸縮性時(shí),才使用 ?WSGIContainer
?。
在 ?WSGIContainer
中包裝一個(gè) WSGI 函數(shù)并將其傳遞給 ?HTTPServer
以運(yùn)行它。 例如:
def simple_app(environ, start_response):
status = "200 OK"
response_headers = [("Content-type", "text/plain")]
start_response(status, response_headers)
return ["Hello world!\n"]
container = tornado.wsgi.WSGIContainer(simple_app)
http_server = tornado.httpserver.HTTPServer(container)
http_server.listen(8888)
tornado.ioloop.IOLoop.current().start()
此類旨在讓其他框架(Django、web.py 等)在 Tornado HTTP 服務(wù)器和 I/O 循環(huán)上運(yùn)行。
?tornado.web.FallbackHandler
? 類通常對(duì)于在同一服務(wù)器中混合 Tornado 和 WSGI 應(yīng)用程序很有用。
將 ?tornado.httputil.HTTPServerRequest
? 轉(zhuǎn)換為 WSGI 環(huán)境。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: