我有用户访谈的具体日期。这是我的表格:
interviews
-------------
user_id
interview_date
interview_time
reminder_time
提醒时间可以是1小时、5小时、1天、3天、7天、14天。
我将如何设置一个 cron 作业或其他东西来检查数据库并在面试即将到来时发出提醒?
例如,如果面试还有 5 个小时,数据库就会向该用户发送电子邮件提醒。
我应该使用 cron 吗?守护进程?对守护进程不熟悉,只是在搜索时看到的。或者我应该使用其他东西?这是一个没有框架的纯/ native PHP 应用程序。
这是我到目前为止所拥有的:
$check = $db->prepare("SELECT * FROM interviews");
if(interview is coming up) {
sendEmail();
}
但我很困惑应该在哪里以及如何搜索这些采访并发送提醒。
如果我搜索所有采访,这会给服务器带来巨大的负载。
感谢您的所有帮助和建议!
最佳答案
除非您希望 PHP 进程永久运行,否则您将需要某种常规调度程序,例如 cron
。这可以将您的代码设置为每分钟、每小时或任何有意义的时间间隔运行一次。
通常每五到十五分钟就足以检查即将发生的事件并为其发送通知。
请务必在数据库中设置一个标志,以便确定是否已收到通知,以便在脚本崩溃且需要重新运行时可以从中断处继续运行。
关于php - 使用 cron 设置提醒系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54258152/