gpt4 book ai didi

php - 每分钟通过 CRON 发送电子邮件 - 我的方法可以改进吗?

转载 作者:行者123 更新时间:2023-11-29 06:56:27 25 4
gpt4 key购买 nike

我正在开发一种提醒类型的网站,您可以在其中设置要发送给自己的提醒,设置提醒的时间,当时间到了时,您会收到一封电子邮件。

不过,提醒并不重要,延迟 5-10 分钟左右是可以接受的。

我有两个选择:

1) 每分钟运行一次 cron 脚本。该脚本将检查数据库中是否有为 CURTIME() 安排的任何事件(即,如果 cron 在 5:35:30 运行,它将检查在 5:35:00 设置的任何提醒)。如果没有找到,则终止。如果找到,请发送电子邮件。

2) 或者,我可以每 10 分钟运行一次 Cron 脚本。此脚本将检查从现在到 10 分钟前是否有任何提醒。例如,如果 cron 在 5:35:30 运行,它将检查 5:25:00 和 5:35:00 之间的任何提醒。如果找到,发送它们,如果没有,终止。

我对第二种方法的唯一问题是,如果这不会导致某些提醒无法发送,我并不肯定。

例如,如果服务器负载较高,并且计划在 5:35:00 运行的 Cron 而不是在 5:37:00 运行会怎样。那么任何安排在 5:35:00 的电子邮件都可能会被错过。

我应该选择哪种方法?

最佳答案

它们是相同的选项,只是周期不同。

您可能会将其视为间隔轮询或队列扫描,但“非实时”,因此您必须针对延迟进行设计。

一般来说,每次扫描都应该假设它可能已经被延迟,而且系统应该有一些定义的策略来处理“太旧”的排队通知。 (如果系统在扫描新排队的通知之前关闭一个小时怎么办?)

为了稳健性,确保队列处理是原子的或同步的——无论是来自并发扫描还是后续扫描,都不会对项目进行双重处理。

关于php - 每分钟通过 CRON 发送电子邮件 - 我的方法可以改进吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com