加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为提醒电子邮件构建系统

发布时间:2020-12-17 04:13:15 所属栏目:百科 来源:网络整理
导读:我正在Rails 4.2中构建预订系统,我需要以预定义的时间间隔向用户发送一组电子邮件(例如,他们有即将到来的预订,完成后的反馈,更改/取消现有预订的链接等等).我环顾四周,找到了 this和 this,但我正在尝试在各种方法之间做出决定. 我看到了构建这个系统的两种主
我正在Rails 4.2中构建预订系统,我需要以预定义的时间间隔向用户发送一组电子邮件(例如,他们有即将到来的预订,完成后的反馈,更改/取消现有预订的链接等等).我环顾四周,找到了 this和 this,但我正在尝试在各种方法之间做出决定.

我看到了构建这个系统的两种主要方式.

>使用像delayed_job这样的队列系统.每当有人进行预订时,我们会将所有电子邮件排队等候应该发送的正确时间.

专业版:所有电子邮件的一个队列.自动重试逻辑.

骗局:成千上万的电子邮件最终会在系统中排队.每当有人取消预订时需要出队(依赖:销毁与之相关的电子邮件可能非常简单).关于我们需要电子邮件出去的时间有点复杂的逻辑.
> cron rake任务以某个预定义的间隔运行(每小时?每15分钟?)并检查需要外出的电子邮件.它运行一个查询,如“查找从现在开始三天的所有预订”,然后发送所有电子邮件.

Pro:将所有内容都放入应用程序逻辑中,减少我们需要跟踪的状态量.

Con:需要跟踪已发送的电子邮件,这在概念上类似于我们上面创建的任何作业表.

解决方法

第二种方法更好(如果在heroku上使用heroku调度程序),队列更多用于“尽快运行”而不是“在此特定日期时间运行”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读