-2

我的第一篇文章,但到目前为止,我从 stackoverflow 中得到了很多很好的答案和提示。这是一个近距离通话-> facebook,gmail如何发送实时通知?但不完全是,所以让我们一起集思广益。

当网站发生更改时,我有带有邮件通知的 CMS 系统。一切都很好,但我想防止多个通知,如果有人做出另一个快速更改,比如说,修复一个错字。显然,使用 php mail()。

我有两种方法,一种简单,一种....让我们说,很重......咳嗽。第三个的灵感来自实施电子邮件通知,但一次发送一堆电子邮件对我来说真的不吸引人。

  1. 使用时间戳检查是否在最后 5 分钟的“让说”中进行了其他更改。

  2. 记录最后一次更改,并将其与新更改进行比较。同时可能对备份有用,因为我必须将更改保存在某处,但是文本可能很长,并且进行 sql 搜索会很痛苦。不会吗?

  3. 使用 cron 每 x 分钟发送一次更改...如果您认为这是一个合适的解决方案,请说服我。

您有任何想法、意见或建议吗?期待您的意见,因为我现在注册了,我会尽我所能提供帮助。

干杯,一切都好

4

1 回答 1

0

关于 cron 作业,这始终是一个不错的选择,因为它消除了 php 处理中检查时间、数据库、额外文件等的部分负担。但只有当你真的有使用它时才有意义,例如,如果你有10 个用户,这可能是矫枉过正。如果您有 1000 个,那么您只需要优化邮寄过程本身,但这仍然是一个不错的选择。

关于时间戳,不断检查数据库以查找更改对于系统来说非常耗时并且会使数据库过载。除非您有专门的表格,仅用于更改帖子,否则系统没有太多工作,而且您可以每隔几次使用该信息就清理过时的记录。

如果您有很多用户,那么记录帖子本身的最后一次更改并不断与新/旧版本进行比较可能会让系统不堪重负。

因此,我将使用一个专门用于更改帖子的表,其中包含 id_post、timestamp_of_the_change 和 mail_sent 之类的内容。然后在对该表进行任何更新后,我将检查帖子是否在最后一分钟左右被修改,如果发生这种情况,我将更新时间戳但不会发送新邮件,除非最后一个发送过程邮件失败,这就是我将在那里使用的第三个字段。

再见

于 2012-10-18T06:43:35.940 回答