Бог не начнет Resque рабочих: грабли прерваны! неабсолютный дом - PullRequest
1 голос
/ 10 мая 2011

Я получаю следующую ошибку в 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' (под которым работает Бог). Есть идеи?

Ответы [ 3 ]

1 голос
/ 05 декабря 2011

Таким образом, часть проблемы заключается в том, что shadow_puppet пытается разрешить ваш путь, но если вы на самом деле пытаетесь использовать shadow_puppet или что-то еще, пытающееся расширить путь на ~ (например, Capistrano), обязательно включите:

w.env = {"HOME" => "/users/home/dir"}

Это устранило эту проблему для моей ситуации (вождение кепки от контролируемого богом работника спасения).

1 голос
/ 10 мая 2011

у вас есть дополнительное окружение между "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'
0 голосов
/ 10 мая 2011

Хорошо, оказалось, что мне просто нужно было удалить shadow_puppet из моего Gemfile.Не уверен, почему у меня это было там, во-первых, возможно, это было пережитком старой версии Самогона.

...