0
之前我詢問過Make a non-blocking request with requests when running Flask with Gunicorn and Gevent,現在我對相關主題提出了更高級的問題。使用Gunicorn和Gevent運行Flask時請求異步Web請求
我的Flask應用程序將收到一個請求,進行一些處理,然後向兩個不同的慢速外部端點發出兩個不同的請求,每個端點需要2秒鐘響應。我的燒瓶代碼如下:
import requests
@app.route('/do', methods = ['POST'])
def do():
resulta = requests.get('slow api a') // takes 2 seconds to response
resultb = requests.get('slow api b') // takes 2 seconds to response
return resulta.content + resultb.content
我跑我的
gunicorn server:app -k gevent -w 4
gunicorn有了這個代碼,對於發送到這個網絡服務的每一個要求,我需要等待4秒響應(它首先發送'慢api',然後'慢api b')。我如何修改示例以便請求發送到'slow api a'和'slow api b'可以同時發送,因此我可以在2秒內從4秒鐘內收到此Web服務的響應?
Python版本? 3.5? 3.6? – Grimmy
使用[grequests](https://github.com/kennethreitz/grequests)而不是請求 –
python版本是2.7,將調查grequests。 – JLTChiu