1
我正在寫一個用戶可以訪問圖像的python服務(pyamf)。所有圖像都存儲在中央服務器上。 python服務將在有網絡訪問服務器的衛星機器上運行。該服務應該如下工作:Python服務文件緩存Apache競爭條件
- 本地檢查以查看文件是否存在,如果存在,請使用它。
- 本地檢查是否正在從服務器傳輸文件(file.part存在且大小正在更改)。如果是這樣,等待下載完成,然後使用文件。
- 如果文件不存在且文件未被下載,請通過urlretrieve下載文件。
問題在於Apache的多線程。線程同時到達文件存在檢查,因此他們都認爲文件需要下載。不用說,這不好。
什麼是正確的方式來處理這種競爭條件?
謝謝!