我刚刚在我的 rails3 应用程序中安装了 gem。使用起来非常棒,我可以定期发送电子邮件。但无法在 cronjob 中使用命令加载任何 ruby 文件。这是我到目前为止所做的代码:
在我的 schedule.rb 中:
set :environment, :development
every 1.days, :at => '6pm' do
runner "User.hello_user", :output => 'log/cron.log'
end
every 2.minutes do
command "load(File.read('app/models/summary_created.rb'))", :output => 'log/cron.log'
end
这是我的 cronjob 列表:
# Begin Whenever generated tasks for: myapp
0 18 * * * /bin/bash -l -c 'cd /home/ruby-projects/myapp && script/rails runner -e development '\''User.hello_user'\'' >> log/cron.log 2>&1'
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /bin/bash -l -c 'load(File.read('\''app/models/summary_created.rb'\'')) >> log/cron.log 2>&1'
# End Whenever generated tasks for: myapp
在上面的文件中,我的第一个任务运行良好,但没有运行第二个任务。我可以获得它支持的命令列表或运行该文件的任何其他方式吗?现在我从 Rails 控制台手动运行它:
irb(main):030:0> load "summary_created.rb"
请帮助我找出我在这里缺少的东西。