我刚刚在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"
请帮助我找出我在这里缺少的东西。
答案 0 :(得分:1)
嘿使用webmin setup
来设置你的cron作业。它非常简单易用。我已将其实施到我的所有项目中。