CRON任务在Amazon EC2上不起作用

时间:2013-09-30 16:20:20

标签: ruby-on-rails ruby amazon-ec2 cron whenever

我准备了一个简单的任务来测试Amazon EC2上的CRON作业:

schedule.rb

set :output, "/home/a/b/current/log/cron_log.log"

 every 5.minutes do
   #command "/usr/bin/some_great_command"
   #runner "MyModel.some_method"
   #rake "some:great:rake:task"
   puts "It's working !!!"
   runner "User.grab_first_user", :environment => 'development'
   runner "User.grab_first_user", :environment => 'production'
 end

user.rb

  def self.grab_first_user
    user = User.first
    puts user.inspect
    if user
      NotificationMailer.send_info(user.email).deliver
    end
  end

notification_mailer.rb< - 这是workin

  def send_info(user_email)
    @user_email = user_email
    mail(:to => 'my@emaill.com', :subject => "[CRON Test]")
  end

当我检查crontab文件时,我看到了这个CRON任务,但是从未发送过电子邮件 - 从不调用该方法。 当我手动调用该方法时,一切正常(也发送电子邮件),但CRON永远不会调用该方法。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

很可能你没有把你的任务写入cron。

你做过bundle exec whenever -w吗?

也可能没有启动cron守护程序。