我在log / resque-0.log中遇到以下错误:
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 :(得分:1)
你在“Rakefile”和“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'
答案 1 :(得分:1)
问题的一部分是shadow_puppet试图解决你的路径,但如果你真的试图使用shadow_puppet或其他尝试扩展路径的东西〜(比如Capistrano),请确保包括:
w.env = {"HOME" => "/users/home/dir"}
根据我的情况解决了这个问题(从神监视的resque工作人员驾驶上限)。
答案 2 :(得分:0)
好的结果我只需从我的Gemfile中删除shadow_puppet。不知道为什么我首先在那里有它,也许这是旧版Moonshine的延续。