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

How to send mails automatically using whenever gem

我曾经 gem 每天发送邮件,但它不是 sending.I 我正在使用 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

[write] crontab file written

2.whenever -i [write] crontab file updated

3.whenever

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /home/ubuntu/my_server && bundle exec script/rails runner -e production '\''Spaces.today_expired_spaces'\'''

[message] Above is your schedule file converted to cron syntax; your crontab file was not updated.

[message] Run `whenever --help' for more options.

请提供解决方案。

您应该在 lib/tasks 文件夹中创建一个 rake task 并将任务包含在 config/schedule.rb

中的任何计划文件中

in 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

every 5.minutes do
  rake 'task_namespace:send_mail'
end

您可以在 "custom-rake-tasks" 部分

中阅读有关 rake 任务 here 的更多信息

希望对您有所帮助