0

我正在研究一個用RubyonRails編寫的Web服務器的項目。另一個人啓動了這個項目的代碼,我得到了所有的代碼。該服務器使用delayed_job。生產服務器運行良好,沒有任何問題。但是,當我想在本地服務器上運行它時,沒有任何delayed_job任務運行。我沒有收到任何錯誤,例如,當我運行耙工作時:在本地服務器上工作,並提交作業,這是輸出:RubyOnRails delayed_job無法在我的本地服務器上工作

[Worker(host:ardrossan pid:20474)] Starting job工人

[工人(宿主:阿德羅森PID:20474)]工作延遲:: PerformableMethod(ID = 2)RUNNING

[工人(宿主:阿德羅森PID:20474)] 1個作業在17.9446 J來處理/ s的,0失敗

但是沒有結果產生。 任何意見,我怎麼能得到delayed_jobs在我的本地服務器上工作表示讚賞。

我要指出,我使用的「軌道」,「3.2.17」和我的操作系統是Ubuntu的LTS 12.04.4

回答

0

認爲你必須在本地推出的背景工人使用領班。以下在我的Mac上工作。

從Heroku的文檔:

然後你需要告訴你的應用程序處理的工作把你的作業隊列中,你可以做,通過添加以下內容到Procfile

worker: bundle exec rake jobs:work 

現在,當你開始您使用Foreman的應用程序將開始處理您的作業隊列。

foreman start 

說了這麼多,除非你在Mac上部署,否則它們在本地運行並不重要。 (我在工作之後注意到了這一點)。它只在它的服務器上有效時才起作用。如果您在Heroku上部署,則延遲工作運行良好。

參考:

https://devcenter.heroku.com/articles/delayed-job https://devcenter.heroku.com/articles/procfile http://blog.daviddollar.org/2011/05/06/introducing-foreman.html
https://github.com/ddollar/foreman

0

剎那間需要自己開始,因爲你沒有任何工作人員本身來觸發你的行動。

相關問題