立即发送电子邮件通知/按需与通过Scheduler / Cron发送电子邮件通知

时间:2012-04-20 14:20:34

标签: c# php email cron scheduled-tasks

在您看来(希望是基于事实而非情绪形成的),从网站发送电子邮件通知的更好方法是什么?

例如,假设您网站上的用户A要求与用户B建立友谊,此时您将生成一封要发送给用户B的电子邮件。

问题是 - 何时是发送电子邮件的最佳时间?立即,作为相同执行路径的一部分,或将电子邮件安排为批处理的一部分?

就像我说的,我的问题相当普遍,所以你可以假设不同的架构 - 一个专用于托管的服务器,另一个致力于电子邮件,一个服务器,云托管等等......我对所有答案感到好奇,真。

我认为:

通过即时电子邮件,您可以及时收到电子邮件,但如果您的网站收到大量流量,您可能会通过发送太多电子邮件来阻止您的服务器。话虽这么说,因为你没有发送一批电子邮件,所以它们都是一次性的。

如果您批量处理电子邮件并安排了计划任务或计划任务,那么您的电子邮件就不会立即发送 - 所以假设您减少间隔时间,以便每1分钟发送一次批处理。问题,因为我认为它是并发性的 - 如果在第一个批次完成之前另一个批次开始,如果你没有适当地标记或锁定你发送的内容,你可能会发送双重电子邮件的风险。

根据我的个人经验,当我在高流量网站上立即发送电子邮件时,虽然许多电子邮件未能发送,但性能并未受到太大影响。

思想?

1 个答案:

答案 0 :(得分:1)

我肯定会说安排他们。在用户请求和服务器操作方面必须有一个宽容,好像有人能够让别人成为朋友,它(我希望)能够拒绝与同一个人的友谊。如果是这样,如果我快速接受并拒绝点击您的网站该怎么办? ?

在这种情况下你有2个选项,imo:

  • 就像SO一样,为用户点击添加一些时间(你不能在2秒内接受和拒绝)

  • 或者你可以,但是此时在服务器上安排了接受/请求友情的人的最终消息,并且会在30分钟(或更短时间)之后发送建筑师选择问题)

希望这有帮助。