3
我知道app.after_request
和app.teardown_request
,但有什麼辦法可以後運行記錄指令響應已經刷新到客戶端..即。這種方式不會影響客戶的表現?瓶 - 響應後,記錄刷新
我知道app.after_request
和app.teardown_request
,但有什麼辦法可以後運行記錄指令響應已經刷新到客戶端..即。這種方式不會影響客戶的表現?瓶 - 響應後,記錄刷新
我很想說request_finished
信號可以工作,但現在測試它,它會一直等到聽衆完成後再返回給用戶。
所以我認爲這會讓你實現一個任務隊列 - Flask有一些關於getting Celery based background tasks工作的文檔。所以,當你到達緩慢的日誌記錄命令時,你只需將任務添加到Celery隊列中,完成對用戶的響應,然後讓Celery工作人員盡其所能地完成任務。
我懷疑這很容易。 Flask運行在[WSGI](http://wsgi.readthedocs.org/en/latest/)之上,它定義了Python代碼(如Flask或Django)如何接收有關請求的信息,並返回結果。該函數本身非常簡單,但是導入的是Flask將需要返回信息主體(並且因此結束其運行代碼的能力,因爲線程返回到稱爲瓶的代碼,例如mod_wsgi)。圍繞這個限制可能有辦法,但除非你想深入研究WSGI和Flask的膽量,否則你可能應該放棄這一點。 –