-1
我正在使用python燒瓶建立一個站點。當它混淆了我,我在這裏展示我的處境不佳:在燒瓶中完成異步響應
...
@app.route('/wanted_delay_response')
def delay_response():
def background_work():
# I want to check some flags in the background
# this should not block, but it does as I try below
pass
gevent.spawn(background_work)
# the most confusing part comes:
return 'This is not what I really want to response'
如上圖所示,後臺工作將繼續在後臺運行,但結果我想應該是來自它。
但是,我不知道如何通知服務器處理其他請求,當後臺工作正在運行,但有任何結果。
還是有沒有優雅的擱置當前請求,並且在後臺工作完成後回來響應,在間隔內,服務器可以處理其他請求嗎?
謝謝你提供這樣一個很好的解決方案。對於我來說,HTTP請求只是在短時間內存在,這是真的可以接受的。 Websockets模塊對我來說顯示出很大的優勢,不僅適用於我遇到的當前情況,而且適用於合併服務器的其他部分。 – xete