我正在構建一個允許用戶上載圖像的Web應用程序。上傳圖片時,需要將其調整爲一種或多種尺寸,每種尺寸都需要發送到Amazon s3進行存儲。每個圖像大小的元數據和URL都存儲在Web服務器上的單個數據庫記錄中。我正在使用消息隊列異步執行調整大小和上傳(因爲每個請求可能會有大圖像和多個大小調整)。調整大小/上傳任務完成時,數據庫記錄需要使用url進行更新。將數據庫與消息隊列分離的最佳做法
我的問題是執行任務的工作人員將無法訪問數據庫。我正在考慮在完成任務後使用適當的信息更新數據庫記錄,從工作人員發回http回調到Web應用程序。有其他的選擇或原因,我應該以另一種方式做到這一點?
我使用python/pylons作爲web後端,mysql作爲數據庫,而celery/amqp作爲消息傳遞。
謝謝!
「...執行任務的工作人員將無法訪問數據庫。」有什麼特別的原因? –
大多數情況下,工作人員將在不同的機器上運行,並且不會直接訪問數據庫(出於安全原因)。 –