我想安排一项日常任务:每天早上7点,我都希望发送一封电子邮件(无需人工干预).
我正在研究RoR框架,我想知道最好的方法是什么?
我听说过BackgrounDRB,OpenWFEru调度程序或基于Cron的东西,但我是新手,不明白哪一个是为我的需要而制作的.
另一种选择是创建由cron作业运行的rake任务.为此,请创建一个文件some_file.rake
并将其放在您的lib/tasks
文件夹中.您的文件可能如下所示:
Rails 2.x:
task :send_daily_mail, :needs => :environment do Model.send_daily_mail end
Rails 3.x:
task :send_daily_mail => :environment do Model.send_daily_mail end
然后使用cron随意执行它:
cd /path/to/app && /usr/bin/rake send_daily_mail
请注意,RAILS_ENV=production
如果您的应用默认处于开发模式,则可能需要放入crontab.
我对此博客文章中讨论的rufus-scheduler gem 印象深刻(并计划尝试)
他描述了这样的事情:
scheduler = Rufus::Scheduler.start_new scheduler.every("1m") do DailyDigest.send_digest! end
..这看起来很简单.我想知道添加基于HTML的配置有多容易吗?