1

我目前正在使用site5服務器,並且想要 rake jobs:work幾乎一直在運行。 我目前無法發送作業,除非我登錄到服務器。我希望有人能幫助我。在ar_mailerwhenever寶石上遇到了很多麻煩......但還有另外5個寶石可以在我的Rails應用程序中完美工作。Delayed_Job - 現場5服務器

有人可以解釋一下這個問題嗎? 非常感謝。 (安裝delayed_job作爲插件)

回答

1

OK我對此有一個解決辦法,這是我能做到的最好,但它工作在一定程度上... 我利用cron作業和自定義腳本/ jobrunner文件

我創建了jobrunner腳本位於script/jobrunner包含以下

#!/usr/bin/env ruby 
require File.dirname(__FILE__) + '/../config/environment' 
Delayed::Worker.new.start 

然後在cron作業我做到了運行該文件。

在cron報告中,我仍然遇到一些錯誤,但工作仍在繼續,我很滿意!

例如,cron作業每半小時運行一次,它會遍歷表中的所有delayed_jobs並處理它們。這是我發現我的問題的下一個最佳解決方案。希望這可以幫助未來的人。

去看看我能爲日常/每週任務想出哪些其他腳本。

1

如果您正在使用capistrano,請在部署應用程序時啓動delayed_job。將其添加到您的部署配方文件中。

require 'delayed/recipes' 
after "deploy:stop",  "delayed_job:stop" 
after "deploy:start",  "delayed_job:start" 
after "deploy:update_code", "delayed_job:stop" 
after "deploy:restart",  "delayed_job:start" 
+0

不幸的是不使用capistrano。而當我運行腳本/ delayed_job開始或腳本/ delayed_job重新啓動沒有錯誤引發,但工人不會在後臺運行。我仍然有我失去一些東西的感覺。 此外,當我運行腳本/ delayed_job運行我得到「未初始化常量Delayed :: Backend :: ActiveRecord :: Base」 必須有一些簡單的我想念。 感謝您的嘗試。 – 2010-04-05 04:40:33

+0

嘗試http://github.com/collectiveidea/delayed_job分支。正在積極和積極地開發它,使其更加強大。 – 2010-04-05 13:00:10

+0

再次感謝喬納森,我正在使用這一個,而不是因爲這個原因託比。它處理delayed_job並將其放入表中,唯一的問題是我想讓工作人員始終運行,而不必繼續調用「rake jobs:work」。我可以在配置初始化程序中設置延遲,這不是問題,即使設置了一個cron作業來完成此操作,出於某種原因,它只是不想工作...... :( – 2010-04-05 14:13:35

1

延遲作業附帶一個腳本,用於在後臺自行啓動並記錄到log/delayed_job.log。您可以啓動一個守護進程的delayed_job,像這樣在開發模式下運行:

RAILS_ENV=development script/delayed_job start 
相關問題