2011-05-09 30 views
1

我得到在日誌下面的錯誤/ resque-0.log:上帝不會啓動Resque workers:耙子流產!非絕對家

rake aborted! 
non-absolute home 
/srv/myapp/current/Rakefile:4 

如果我開始一個工人使用相同的命令神使用手動,它啓動就好了:

QUEUE=* RAILS_ENV=production /usr/bin/rake -f /srv/myapp/current/Rakefile environment resque:work 

我試過在'rails'用戶和'root'用戶下運行該命令(上帝運行)。有任何想法嗎?

+0

它看起來像問題可能在您的Rakefile中,請張貼您的Rakefile和上帝腳本。 – Gazler 2011-05-09 21:12:14

回答

1

你在「Rake文件」和「resque」

天啊腳本通常看起來像這樣與你額外的環境:

rails_env = ENV['RAILS_ENV'] || "development" 
rails_root = ENV['RAILS_ROOT'] || "/path/to/app" 


God.watch do |w| 
    w.name = "resque-task" 
    w.group = 'resque' 
    w.interval = 30.seconds 
    w.start = "/path/to/rake -f #{rails_root}/Rakefile resque:work QUEUE=* RAILS_ENV=#{rails_env}" 

    w.uid = 'gazler' 
    w.gid = 'gazler' 
+0

似乎沒有解決問題。當我通過SSH在服務器上啓動它時,它運行得非常好,但是當上帝試圖運行它時失敗(同樣的錯誤)。 – 2011-05-09 23:11:50

0

好吧原來我只是從我的Gemfile刪除shadow_puppet 。不知道爲什麼我首先將它放在那裏,也許這是從舊版本的月光中緩過來的。

1

所以,問題的一部分shadow_puppet試圖解決您的路徑,但如果你真正想使用shadow_puppet或別的東西,試圖擴大〜(如Capistrano的舉例)路徑確保包括:

w.env = {"HOME" => "https://stackoverflow.com/users/home/dir"} 

解決了這個問題,適合我的情況(駕駛上帝監控員工的帽子)。