我有具体的日期接受用户采访。这是我的桌子:
interviews
-------------
user_id
interview_date
interview_time
reminder_time
提醒时间可以是1小时,5小时,1天,3天,7天和14天。
如果面试即将进行,我将如何设置cron作业或检查数据库的内容并发出提醒?
例如,如果访问距离访谈有5个小时,则数据库将向该用户发送一封电子邮件提醒。
我应该使用cron吗?守护进程?我不喜欢守护程序,只是在我搜索它时才看到它。还是我应该使用其他东西?这是一个没有框架的纯/本地PHP应用程序。
这是我到目前为止所拥有的:
$check = $db->prepare("SELECT * FROM interviews");
if(interview is coming up) {
sendEmail();
}
但是我对于在哪里以及如何搜索这些采访并发出提醒感到困惑。
如果我搜索所有采访,那将对服务器造成巨大负担。
感谢您的所有帮助和建议!
答案 0 :(得分:1)
除非您希望您的PHP进程永久运行,否则将需要某种常规的调度程序,例如cron
。这样可以将您的代码设置为每分钟,每小时或任何有意义的间隔运行一次。
通常每五到十五分钟就足以检查即将发生的事件并为它们发出通知。
请确保在数据库中设置一个标志,以告知是否已经通知了某些内容,以便在脚本崩溃时需要重新运行,可以在脚本停下来的地方重新获取。