国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在Tornado上運行WSGI應(yīng)用

TalkingData / 2004人閱讀

摘要:之前一直很想知道在上是如何運行其他應(yīng)用的例如利用可以作為運行的服務(wù)器。需要注意的是由于的并發(fā)模型是建立在單線程異步執(zhí)行的基礎(chǔ)上的因此它運行個應(yīng)用比使用多線程的服務(wù)器要弱很多。當(dāng)然這種方式在和在相同進(jìn)程時有用否則將減少可擴展性。

之前一直很想知道,在Tornado上是如何運行其他WSGI應(yīng)用的,例如利用Twisted,可以作為Flask、Bottle、Django運行的服務(wù)器。近日在查看tornado的官方文檔時,總算找到了對應(yīng)的方式了。
在Tornado中,我們可以通過wsgi模塊下的WSGIContainer類來實現(xiàn)這樣的需求。這里,我們使用Bottle作為例子,來查看這個過程。

from bottle import Bottle

app = Bottle()

@app.route("/"):
def index():
    return "Hello World"

現(xiàn)在,我們編寫了1個簡單的訪問根URL時輸出1個Hello World的簡單應(yīng)用了。
接下來,我們讓這個Bottle的應(yīng)用在tornado上運行,我們引入tornado庫:

import tornado

然后將要托管的應(yīng)用以參數(shù)的形式傳入到WSGIContainer類中:

container = tornado.wsgi.WSGIContainer(app)

接下來,我們定義1個HTTP服務(wù)器,用于提供服務(wù):

http_server = tornado.httpserver.HTTPServer(container)

緊接著,我們定義這個服務(wù)器監(jiān)聽的端口:

http_server.listen(8888)

最后,我們啟動這個服務(wù)器:

tornado.ioloop.IOLoop.current().start()

此時訪問127.0.0.1:8888,將看到1個Hello World的字符串。
需要注意的是,由于Tornado的并發(fā)模型是建立在單線程異步執(zhí)行的基礎(chǔ)上的,因此它運行1個WSGI應(yīng)用比使用多線程的WSGI服務(wù)器要弱很多。當(dāng)然,這種方式在Tornado和WSGI在相同進(jìn)程時有用,否則將減少可擴展性。
相比而言,twisted的WSGI服務(wù)器使用多進(jìn)程的方式運行的,因此在項目開發(fā)中,還是以twisted為主。

參考文章:

http://www.tornadoweb.org/en/stable/wsgi.html#running-wsgi-apps-on-tornado-servers

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37887.html

相關(guān)文章

  • 自己寫一個 wsgi 服務(wù)器運行 Django 、Tornado 等框架應(yīng)用

    摘要:要使用協(xié)議我們不可能自己實現(xiàn)一個,現(xiàn)在比較流行的解決方案就是使用套接字編程,已經(jīng)幫我們實現(xiàn)了協(xié)議的細(xì)節(jié),我們可以直接拿來使用不用關(guān)心細(xì)節(jié)。 前幾天寫了 淺談cgi、wsgi、uwsgi 與 uWSGI 等一些 python web 開發(fā)中遇到的一些名詞的理解,今天博主就根據(jù) wsgi 標(biāo)準(zhǔn)實現(xiàn)一個 web server,并嘗試用它來跑 Django、tornado 框架的 app。 編...

    lunaticf 評論0 收藏0
  • Tornado 4.3文檔翻譯: 用戶指南-運行和部署

    摘要:譯者說于年月日發(fā)布,該版本正式支持的關(guān)鍵字,并且用舊版本編譯同樣可以使用這兩個關(guān)鍵字,這無疑是一種進(jìn)步。其次,這是最后一個支持和的版本了,在后續(xù)的版本了會移除對它們的兼容。 譯者說 Tornado 4.3于2015年11月6日發(fā)布,該版本正式支持Python3.5的async/await關(guān)鍵字,并且用舊版本CPython編譯Tornado同樣可以使用這兩個關(guān)鍵字,這無疑是一種進(jìn)步。其次...

    lentrue 評論0 收藏0
  • [零基礎(chǔ)學(xué)python]python開發(fā)框架

    摘要:軟件開發(fā)者通常依據(jù)特定的框架實現(xiàn)更為復(fù)雜的商業(yè)運用和業(yè)務(wù)邏輯。所有,做開發(fā),要用一個框架。的性能是相當(dāng)優(yōu)異的,因為它師徒解決一個被稱之為問題,就是處理大于或等于一萬的并發(fā)。 One does not live by bread alone,but by every word that comes from the mouth of God --(MATTHEW4:4) 不...

    lucas 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<