ruby-on-rails – RoR:使用CRON和Actionmailer向所有用户发送每日电子邮件更新

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – RoR:使用CRON和Actionmailer向所有用户发送每日电子邮件更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用cron任务向网络上的所有用户发送每日更新电子邮件的最佳方法究竟是什么?电子邮件将由来自多个模型的不同信息组成.

我想从请求模型和用户模型中做一些类似“1个新朋友请求:名字…”的事情和“来自你的朋友的3个即将发生的事件:由名称托管的事件名称……”来自事件和用户模型.

我意识到这是一项常见的任务,但我没有看到太多关于它的信息,所以任何关于做这样的事情的一般提示都将不胜感激!

旁注:如果重要的话,我将使用Heroku每日cron插件来实现这一点(尽管我认为不应该).

解决方法

我通常只写一个rake任务并将其添加到CRON.

rake任务看起来像这样:

namespace :notifications do
  desc "Sends notifications"
  task :send => :environment do
    MyModel.all_users_to_notify.each do |u|
      MyMailer.notification(u).deliver
    end
  end
end

你的crontab应该是这样的:

RAILS_ENV=production
HOME=/path/to/your/rails/app
PATH=/path/to/ruby/binaries

30 17 * * * rake notifications:send

猜你在找的Ruby相关文章