Way*_*Lue 7 email cron ruby-on-rails delayed-job
我正在Rails 4.2中构建预订系统,我需要以预定义的时间间隔向用户发送一组电子邮件(例如,他们有即将到来的预订,完成后的反馈,更改/取消现有预订的链接等等).我环顾四周,找到了这个和这个,但我试图在这些方法之间做出决定.
我看到了构建这个系统的两种主要方式.
使用像delayed_job这样的队列系统.每当有人进行预订时,我们会将所有电子邮件排队等候正确的时间.
专业版:所有电子邮件的一个队列.自动重试逻辑.
骗局:成千上万的电子邮件最终会在系统中排队.每当有人取消预订时需要出队(依赖:销毁与之相关的电子邮件可能非常简单).关于我们需要电子邮件出去的时间有点复杂的逻辑.
cron+ rake以某个预定义的间隔(每小时?每十五分钟?)运行的任务,并检查需要外出的电子邮件.它运行一个查询,如"查找从现在开始三天的所有预订",然后发送所有电子邮件.
Pro:将所有内容都放入应用程序逻辑中,减少我们需要跟踪的状态量.
Con:需要跟踪已发送的电子邮件,这在概念上类似于我们上面创建的任何作业表.
| 归档时间: |
|
| 查看次数: |
554 次 |
| 最近记录: |