有沒有什麼辦法可以在gevent中運行tornado.httpserver.HTTPServer?Gevent + tornado.httpserver.HTTPServer
我正在爲一個大文件上傳寫一個簡單的代理服務器,這個想法很簡單 - 它監視一堆服務器上的可用空間(到目前爲止沒有問題),並且應該將PUT請求路由到WebDAV服務器。爲了提高效率,我想按塊大小地分塊,並且不能提供基於gevent的pywsgi的解決方案。
settings = setup()
log.info('Listening on %s:%d' % (settings.host, settings.port))
# server for request routing
server = WSGIServer((settings.host, settings.port), app)
# separate greenlet to periodically get info about cluster free space
monitor = gevent.spawn(storage_monitor, settings.timeout)
# setup a proper signals to stop server and monitor greenlet
gevent.signal(signal.SIGTERM, monitor.kill)
gevent.signal(signal.SIGINT, monitor.kill)
gevent.signal(signal.SIGQUIT, monitor.kill)
gevent.signal(signal.SIGTERM, server.stop)
gevent.signal(signal.SIGINT, server.stop)
gevent.signal(signal.SIGQUIT, server.stop)
# start the server
server.start()
gevent.wait()
也許我只是不明白一些東西?由於gevent文檔沒有更新到1.0,但它是一項相當艱鉅的任務:)
也許最好是用戶gevent的StreamServer +自定義協議?
謝謝你的回覆,我已經決定了。我只是使用沒有HTTP的StreamServer。 我會盡快將它發佈在這裏 – irqed