Django可以在Nginx(或其他一些服務器,但我們現在要使用Nginx)或manage.py runserver
Django自己的服務器上運行。在這兩種情況下,我需要數據完整性和恢復。使用Django和Nginx的數據完整性和恢復
對於數據完整性,我不需要終止(一些)Django請求,直到完成。他們不應該終止,因爲他們應該完成在數據庫中啓動數據修改以保持數據完整性(並且不,使用SQL事務是而不是的一種解決方案)。只要Nginx收到service nginx stop
(在Debian Linux上)或其他類似的命令(在其他操作系統上),它們不應該終止,而是在終止之前完成處理。這個怎麼做?
對於數據恢復我想:
在服務器啓動時創建一個空文件,服務器停止時將其刪除(如何使用Nginx的與
manage.py runserver
做到兩者兼而有之?)當服務器啓動時,如果找到文件(表明我們的軟件崩潰),在服務器啓動之前,我們需要運行我的「數據恢復」腳本。這個怎麼做?
爲什麼交易不是一種選擇?由於使用需要處理的django信號? – dahrens
和哪個wsgi服務器實際運行在nginx後面? – dahrens
@dahrens大寫作交易不是一種選擇,因爲它們會導致所有客戶的閱讀操作**延遲**。 – porton