首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ruby on Rails安排发送电子邮件任务的最佳方式是什么?

使用Ruby on Rails安排发送电子邮件任务的最佳方式是什么?
EN

Stack Overflow用户
提问于 2009-02-16 15:22:30
回答 5查看 7K关注 0票数 10

我想安排一个每天的任务:每天早上7点,我想要发送一封电子邮件(没有人工干预)。

我正在研究RoR框架,我想知道做这件事的最好方法是什么?

我听说过BackgrounDRB,OpenWFEru调度器或基于Cron的东西,但我是一个新手,不知道哪一个是我需要的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-16 18:37:48

另一种选择是创建一个由cron作业运行的rake任务。为此,请创建一个文件some_file.rake并将其放入lib/tasks文件夹中。您的文件可能如下所示:

Rails 2.x:

代码语言:javascript
复制
task :send_daily_mail, :needs => :environment do
    Model.send_daily_mail
end

Rails 3.x:

代码语言:javascript
复制
task :send_daily_mail => :environment do
    Model.send_daily_mail
end

然后使用cron按您喜欢的频率执行它:

代码语言:javascript
复制
cd /path/to/app && /usr/bin/rake send_daily_mail

注如果你的应用默认处于开发模式,你可能需要把RAILS_ENV=production放在你的crontab中。

票数 13
EN

Stack Overflow用户

发布于 2009-02-16 16:01:41

in this blog post讨论的rufus-scheduler gem给我留下了深刻的印象(并打算尝试一下)

他是这样描述的:

代码语言:javascript
复制
scheduler = Rufus::Scheduler.start_new  

scheduler.every("1m") do  
   DailyDigest.send_digest!  
end 

..which看起来很简单。我想知道添加基于HTML的配置有多容易?

票数 7
EN

Stack Overflow用户

发布于 2009-02-16 23:17:15

我使用的是BackgroundRB,它工作得很完美。我有几封正在发送的电子邮件,由BackgroundRB生成。我还有其他的任务。因为它启用了计划任务和异步任务(比正常客户端/服务器响应周期更长的任务)。

我使用它,我对它非常满意。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/553648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档