我的應用程序的設置方式是我們使用不同的數據庫連接,每個子域使用不同的環境。延遲作業做你期望的(我猜),並將作業插入到delayed_jobs表時,使用該請求的當前環境(以及因此數據庫連接)。強制延遲作業以使用單獨的數據庫連接
問題是DJ無法處理來自所有這些不同表格的作業,所以我試圖強制DJ只使用一個數據庫,尤其是爲其設置數據庫。我試過this,但它不起作用,我不知道接下來要做什麼。
任何指針/建議將非常讚賞,真的在我的智慧結束與此。
嘗試代碼:
Delayed::Job.class_eval do
establish_connection ActiveRecord::Base.configurations["delayed_job"]
end
連接到數據庫是在before_filter
在ApplicationController
完成。
你能描述一下你的環境嗎?即多少個Web服務器,延遲的作業服務器,您如何在每個服務器中分配數據庫,並顯示establish_connection代碼。 – aceofspades
1個Web服務器,1個應用程序,1個延遲作業服務器。連接到數據庫是在應用程序控制器的before_filter中完成的。 –
可能重複[如何強制延遲\ _job使用特定的數據庫連接?](http://stackoverflow.com/questions/6479039/how-can-i-force-delayed-job-to-use-a -specific-db-connection) –