使用 cron 设置提醒系统

Setup reminder system with cron

我有具体的用户访谈日期。这是我的 table:

interviews
-------------
user_id
interview_date
interview_time
reminder_time

提醒时间可以是1小时、5小时、1天、3天、7天、14天。

我将如何设置一个 cron 作业或其他东西来检查数据库并在面试即将到来时发出提醒?

例如,如果面试还有 5 个小时,数据库会向该用户发送电子邮件提醒。

我应该使用 cron 吗?守护进程?不熟悉守护程序,只是在搜索时看到它。还是我应该使用其他东西?这是一个没有框架的 pure/native PHP 应用程序。

这是我目前的情况:

$check = $db->prepare("SELECT * FROM interviews");

if(interview is coming up) {
    sendEmail();
}

但我很困惑我应该在哪里以及如何搜索这些采访并发送提醒。

如果我搜索所有采访,这会给服务器带来巨大的负载。

感谢您的所有帮助和建议!

除非您希望 PHP 进程永久 运行,否则您将需要某种常规调度程序,例如 cron。这可以将您的代码设置为 运行 每分钟、每小时或任何有意义的间隔。

通常每五到十五分钟就足以检查即将发生的事件并为其发送通知。

一定要在你的数据库中设置一个标志,如果某些事情已经被通知,这样如果你的脚本崩溃并且你需要重新运行它可以从它停止的地方继续。