如何使用gem时自动发送邮件

时间:2016-10-22 07:09:27

标签: ruby-on-rails ruby-on-rails-3 amazon-ec2 ruby-on-rails-3.2

我曾经使用gem每天发送邮件但它没有发送。我正在使用amazon linux ec2实例。请查看我的代码一次。

schedule.rb:

every 5.minutes do
  runner "Listings.today_expired_spaces"
end

Listings.rb:(模型文件)

  def today_expired_spaces
        @list=List.find_by_date(Date.today)
        UserMailer.today_expired_list(@list).deliver  
  end

在制作中:

运行这些命令后,我得到这样的回复

  

1.whenever -w

     

[写] crontab文件写的

     

2.whenever -i [write] crontab文件更新

     

3.whenever

     

0,5,10,15,20,25,30,35,40,45,50,55 * * * * / bin / bash -l -c' cd   / home / ubuntu / my_server&&捆绑exec脚本/ rails runner -e   制作' \#39; Spaces.today_expired_spaces' \'''

     

[message]上面是你的日程文件转换为cron语法;您的crontab文件未更新。

     

[消息]运行`每当--help'了解更多选择。

请为此提供解决方案。

1 个答案:

答案 0 :(得分:0)

您应该在rake task文件夹中设置lib/tasks并将任务包含在config/schedule.rb

中的日程安排文件中 <{1>}中的

(仅作为文件名)

lib/tasks/send_mail_bang_bang.rake
require 'rake' namespace :task_namespace do desc 'task description' task :send_mail => :environment do # call Listing method to send mail Listings.today_expired_spaces end end

中的

config/schedule.rb

您可以在“custom-rake-tasks”部分中阅读有关rake任务here的更多信息

希望有所帮助