@app.route("/")
def start():
#will do some task
return 'completed'
在上述程序中,在執行完第一個請求後,第二個請求將被執行。但是我想製作一個這樣的服務器,它可以在某個特定時間通過使用燒瓶或其他任何東西並行接受,執行和響應多個請求。使用燒瓶並行多請求處理
我該如何做到這一點?
@app.route("/")
def start():
#will do some task
return 'completed'
在上述程序中,在執行完第一個請求後,第二個請求將被執行。但是我想製作一個這樣的服務器,它可以在某個特定時間通過使用燒瓶或其他任何東西並行接受,執行和響應多個請求。使用燒瓶並行多請求處理
我該如何做到這一點?
對於多請求處理/生產部署,必須使用gunicorn或apache或gevent。
http://flask.pocoo.org/docs/0.11/deploying/
類似的方法遵循其他Python Web框架太像Django的。
您可以使用klein
模塊,該模塊一次處理多個請求。
Comparison between Flask and Klein
闖民宅此鏈接後,我從瓶切換到克萊恩。希望它也能幫助你。
我還需要這一個用於分佈式集羣計算,假設服務器m/c的請求負載高,那麼我想要移位請求另一臺計算機連接到服務器。通常我使用dask.distributed來管理分佈式集羣計算。我可以通過使用klein轉移請求嗎?主要是我要轉移請求是服務器的負載很高。 –
請參閱他們的文檔:https://media.readthedocs.org/pdf/klein/latest/klein.pdf –
對不起,可以給我發送任何可以同時處理多個請求的示例嗎?通過使用本例==>從克萊進口克萊 導入時間 應用程式=克萊恩() DEF testFun(): \t打印( '起始') \t而真: \t \t time.sleep(3) \t \t打印( '循環') \t \t time.sleep(3) \t \t打印( '3秒後') @ app.route( '/',方法= [ 'GET']) DEF square_submit(請求): #x = int(request.args。得到( 'X',[0])[0]) #解析度= X * X \t testFun() \t返回 「已完成」 如果__name__ == 「__main__」: \t app.run(」 localhost「,8888) –
可以給我任何例子,可以幫助我通過使用django來檢查paralley處理請求嗎?謝謝 –
@SudipDas Django可以使用Apache mod_wsgi進行部署,如https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi中所述。 我也使用過gunicorn,但是gunicorn沒有提供靜態文件,您需要進一步將其與nginx連接以提供靜態文件。 對於進一步的並行化,可以使用docker swarm和scale服務或使用Elastic Beanstalk並動態擴展。 –