1. rest請求數據量過大
最初設置的harakiri超時時間爲60, 導致uwsgi崩潰重啓,解決辦法延長harakiri 的時間,或者註釋掉harakiri的配置,看一下請求需要花多長時間
harakiri
這個選項會設置harakiri超時時間(可以看wiki首頁的相關內容)。如果一個請求花費的時間超過了這個harakiri超時時間,那麼這個請求都會被丟棄,並且當前處理這個請求的工作進程會被回收再利用(即重啓)。
--harakiri 60
這個設置會使uwsgi丟棄所有需要60秒才能處理完成的請求。
2. uwsgi請求需要的時間比較長,導致nginx報504 gateway timeout錯誤
解決辦法,修改nginx的配置,延長nginx 到uwsgi請求的read和send的timeout的時間,起作用的是read time out時間的設置
location /api/ {
uwsgi_pass django;
include uwsgi_params;
uwsgi_read_timeout 1800;
uwsgi_send_timeout 300;
proxy_read_timeout 300;
}