我有一個Django項目,我用rabbitmq芹菜執行一組異步。任務。所以我計劃的設置就是這樣。Django和芹菜在不同的服務器和芹菜能夠發送回調到Django一旦任務完成
- Django應用程序運行在一臺服務器上。
- 芹菜工人和rabbitmq從另一臺服務器上運行。
我最初的問題是,如何訪問休息在另一臺服務器上的芹菜任務的django模型?
並假設我無法訪問Django模型,有沒有辦法一旦任務完成,我可以發送回調到Django應用程序傳遞值,以便我得到更新Django的數據庫基於值通過了?
我有一個Django項目,我用rabbitmq芹菜執行一組異步。任務。所以我計劃的設置就是這樣。Django和芹菜在不同的服務器和芹菜能夠發送回調到Django一旦任務完成
我最初的問題是,如何訪問休息在另一臺服務器上的芹菜任務的django模型?
並假設我無法訪問Django模型,有沒有辦法一旦任務完成,我可以發送回調到Django應用程序傳遞值,以便我得到更新Django的數據庫基於值通過了?
關於你的第一個問題,從工人的服務器訪問Django模型:
你的Django應用程序必須是可用兩種服務器A(服務用戶)和服務器B上(託管芹菜工人)
關於你的第二個問題,根據值更新數據庫。你的意思是異步任務的結果?如果是這樣,那麼你有兩種選擇:
我用下面的設置上我的應用程序芹菜的官方文檔中提到:
Django工作人員監聽一個單獨的隊列,這不是嚴格必要的。結果後端不使用 - 數據需要剛剛傳遞給任務
你對我的第二個問題的第二個解決方案,沒有使用結果後端,並從任務中獲取返回的結果使整個過程同步一個,有沒有辦法做異步? – DeadDjangoDjoker