django執行mysql恢復的時候出現“The request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.”


版本:

django:2.1.7

python:3.7

mysql:5.7.25

 

今天在用django做mysql備份和恢復的時候,備份沒問題,恢復時出現如下錯誤提示:

The request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.

恢復的命令如下:

recoverycmd = "mysql -u" +DB_USER + " -p"+DB_USER_PASSWD+" " +DB_NAME+" < "+sql_file
os.system(recoverycmd)

因為我是在二級頁面中選擇備份的腳本文件,一開始以為os.system是異步執行的,導致二級頁面結束跳轉到一級頁面了,一想又不對,那也頂多提前跳出完成提示,不會打斷恢復啊。

所有肯定是被什么打斷了,然后測試了一下,發現每次錯誤時,登錄都會退出。原來,函數前加了下面的語句:

@login_required(login_url='/login')

導致了恢復過程中,數據庫連接已經斷開,驗證用戶登錄,導致驗證失敗,恢復過程被中斷出現異常。

 

結論:於是,把這個語句刪除,mysql恢復順利進行,但是數據庫連接還是會斷開一次,重新登錄下就好了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM