摘要:之前一直很想知道在上是如何運行其他應(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
摘要:要使用協(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。 編...
摘要:譯者說于年月日發(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)步。其次...
摘要:軟件開發(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) 不...
閱讀 3354·2021-11-10 11:36
閱讀 3250·2021-10-08 10:21
閱讀 2883·2021-09-29 09:35
閱讀 2428·2021-09-22 16:06
閱讀 3983·2021-09-09 09:33
閱讀 1337·2019-08-30 15:44
閱讀 3180·2019-08-30 10:59
閱讀 2992·2019-08-29 15:32