Cron工作不适用于每当宝石

时间:2015-01-01 12:11:11

标签: ruby-on-rails ruby cron

我有一个包含大量任务的应用程序,每3分钟我想运行一个发送邮件进行某些测试的cron作业。我正在使用随时随地的宝石,但它似乎根本没有运行。任何想法?

配置/ schedule.rb

every 3.minutes do
  runner "MailerClass.some_method"
end

MailerClass.rb

def some_method
  mail(:to => "some email", :cc => 'some email', :subject => "Regular Email by rake task #{Time.now.strftime("%H : %m")}", :from => "default_sender@udk.com") do |format|
  end
end

在修改config / schedule.rb之后我尝试了什么,

whenever --update-crontab --set environment=development
sudo service cron restart

我跑的时候     crontab -l   这是输出

0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /bin/bash -l -c 'cd /home/my_app && script/rails runner -e development '\''MailerClass.some_method'\'' >> log/notification.log 2>&1'

我检查了日志。问题是     script / rails:第6行:意外令牌附近的语法错误(' script/rails: line 6: APP_PATH = File.expand_path(' ../../ config / application', FILE )& #39;

我没有得到这个。我是铁杆新手。那可能是为什么:(。

任何解决方案!!!

2 个答案:

答案 0 :(得分:0)

根据您更新的信息,我正在更新我的答案
从此行APP_PATH = File.expand_path('../../config/application', FILE)'

中删除括号中的最后一个单引号表单

答案 1 :(得分:0)

看起来您忘记了实际发送电子邮件

而不是

MailerClass.some_method

MailerClass.some_method.deliver