tornado 4.0 新加tornado.web.stream_request_body decorator ,用于stream request
Streaming uploads let you handle large requests without buffering everything into memory, but there is still generally some limits to what you"re willing to handle. The max_buffer_size and max_body_size parameters are now separate, but they both default to 100MB. With streaming uploads, you can increase max_body_size as much as you want without increasing your memory requirements, but make sure you have enough disk space (or s3 budget, etc) to handle the uploads you"ll get. You can even set max_body_size on a per-request basis by calling self.request.connection.set_max_body_size() from prepare()
import tornado.web import tornado.ioloop MB = 1024 * 1024 GB = 1024 * MB TB = 1024 * GB MAX_STREAMED_SIZE = 1*GB @tornado.web.stream_request_body class MainHandler(tornado.web.RequestHandler): def prepare(self): self.f = open("xxxxxxxx", "wb") # 如果不設max_body_size, 不能上傳>100MB的文件 self.request.connection.set_max_body_size(MAX_STREAMED_SIZE) def post(self): print("upload completed") self.f.close() def data_received(self, data): self.f.write(data) if __name__ == "__main__": application = tornado.web.Application([ (r"/", MainHandler), ]) application.listen(7777) tornado.ioloop.IOLoop.instance().start()
tornado.web.stream_request_body 源碼
測試:
curl -v -XPOST --data-binary @presto-server-0.144.2.tar.gz -127.0.0.1:7777/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45482.html
摘要:本文主要介紹了在框架中使用實現簡單服務器的過程。在網絡通信中,需要發送二進制流數據函數負責數據組包,即將數據按照規定的傳輸協議組合起來函數負責數據拆包,即按照規定的協議將數據拆分開來。不多說,具體實現代碼咱們來看一下。 本文主要介紹了在tornado框架中,使用tcpserver,tcpclient,struct.pack(),struct.unpack實現簡單echo服務器的過程。 ...
摘要:譯者說于年月日發布,該版本正式支持的關鍵字,并且用舊版本編譯同樣可以使用這兩個關鍵字,這無疑是一種進步。其次,這是最后一個支持和的版本了,在后續的版本了會移除對它們的兼容。 譯者說 Tornado 4.3于2015年11月6日發布,該版本正式支持Python3.5的async/await關鍵字,并且用舊版本CPython編譯Tornado同樣可以使用這兩個關鍵字,這無疑是一種進步。其次...
閱讀 1117·2023-04-26 03:02
閱讀 1161·2023-04-25 19:18
閱讀 2583·2021-11-23 09:51
閱讀 2561·2021-11-11 16:55
閱讀 2614·2021-10-21 09:39
閱讀 1694·2021-10-09 09:59
閱讀 1991·2021-09-26 09:55
閱讀 3512·2021-09-26 09:55