我正在尝试在我的应用程序中使用whenever
gem,但我无法在schedule.rb
中运行rake命令。
抛出的错误是
/bin/bash: rake: command not found
我也在使用bundler,所以我的所有宝石都被冻结到了应用程序中。
答案 0 :(得分:4)
rake在某个非常典型的地方,比如/ usr / local / bin?尝试将此添加到schedule.rb:
env :PATH, '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
答案 1 :(得分:0)
尝试使用'command'而不是rake。我的rake在/ usr / local / bin中,我无法弄清楚如何让它工作。所以这是一个命令的例子,而不是schedule.rb:
every 5.minutes do
command "cd " + `pwd`.chomp + " && RAILS_ENV=#{environment} /usr/local/bin/rake rakefile:rakemethod"
end
请注意,您还必须在此示例中传入环境。我认为你只需要在调用schedule.rb时使用'whendate_crontab --set environment = beta'。
我有capistrano使用随时随地的capistrano食谱(参见随时随地的lib dirs)。我必须在我的capistrano部署脚本中设置whatever_environment。
什么时候可以默认生产所以我只是玩它并看到。换句话说,如果您只是在生产中执行此操作,则可能不需要RAILS_ENV =#{environment}。我有几个临时环境,所以我传入环境来帮助编写脚本。
如果我只能指定一个不同的rake目录来使用/ usr / local / bin / rake!有人在这方面提供帮助吗?