Проблема использования всякий раз, когда драгоценный камень - PullRequest
5 голосов
/ 13 декабря 2010

Я пытаюсь использовать whenever gem в своем приложении, но я не могу запустить команду rake в schedule.rb.

Ошибка, которая вызывает

/bin/bash: rake: command not found

Я также использую упаковщик, поэтому все мои драгоценные камни замораживаются в приложении.

Ответы [ 2 ]

4 голосов
/ 02 мая 2011

Является ли рейк где-то нетипичным, как / usr / local / bin?Попробуйте добавить это в schedule.rb:

env :PATH, '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
0 голосов
/ 09 марта 2011

Попробуйте использовать 'команду' вместо рейка. Мой рейк находится в / usr / local / bin, и я не могу понять, как заставить его работать. Итак, вот пример команды вместо в schedule.rb:

every 5.minutes do
  command "cd " + `pwd`.chomp + " && RAILS_ENV=#{environment} /usr/local/bin/rake rakefile:rakemethod"
end

Обратите внимание, что в этом примере вы также должны перейти в окружение. Я думаю, что вы просто делаете это с помощью «всякий раз, когда --update_crontab --set environment = beta», когда вызываете schedule.rb.

У меня есть capistrano, чтобы сделать это, используя рецепты capistrano в драгоценном камне всякий раз (см. Lib dirs под источником всякий раз). Я должен установить всякий раз, когда в моем сценарии развертывания в Capistrano среда_.

всякий раз, когда можно было по умолчанию работать, поэтому я просто поиграю с этим и посмотрю. Другими словами, вам может не понадобиться RAILS_ENV = # {environment}, если вы делаете это только на производстве. У меня есть несколько промежуточных сред, поэтому я передаю в среду, чтобы выручить сценарий.

Если бы я только мог указать другой каталог rake, чтобы он работал с / usr / local / bin / rake! Кто-нибудь поможет на этом фронте?

...