如何使用gem时在crontab中加载ruby文件(main.rb)?

时间:2012-10-23 11:02:24

标签: ruby-on-rails-3 crontab

我刚刚在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"

请帮助我找出我在这里缺少的东西。

1 个答案:

答案 0 :(得分:1)

嘿使用webmin setup来设置你的cron作业。它非常简单易用。我已将其实施到我的所有项目中。