什么时候在CRUD Web应用程序中向用户发送电子邮件通知?

时间:2014-05-03 14:07:05

标签: email web-applications

我构建了一个简单的任务管理webapp:用户A 填写表单,点击提交按钮,将数据发送到服务器,如果数据验证用户B 被分配到这个任务。

我想通过电子邮件通知用户B 这项新任务。但是,用户A 可以更改任务数据甚至删除任务,在这种情况下,已发送的电子邮件将不正确。

一种方法是将通知电子邮件延迟几分钟,然后在需要时发送更新电子邮件消息。

通知发送的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我认为你有几个选择:

  1. 每当任务状态发生变化时发送电子邮件。不包括细节;发送一个链接给用户B,让他们看看有什么变化。
  2. 这是Why Starbucks Does Not Use Two Phase Commit的一个很好的例子。用户B将容忍“脏读”,因为它们不会改变生活。
  3. 按固定时间表异步发送所有通知电子邮件。让定时任务查询数据库,生成所有电子邮件,并立即发送。任务将有机会只发送最新的一个。如果用户A分配任务,进行更新,然后删除,则用户B将只获得最后一个有意义的任务。在这种情况下,分配后跟删除可能导致不发送电子邮件。只有作为最后状态的分配或更新才会导致发送电子邮件。