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