Настройка системы напоминаний с помощью cron - PullRequest
0 голосов
/ 18 января 2019

У меня есть конкретные даты для интервью пользователей. Вот мой стол:

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

Время напоминания может составлять 1 час, 5 часов, 1 день, 3 дня, 7 дней и 14 дней.

Как бы я занялся созданием задания cron или чего-то такого, чтобы проверить базу данных и разослать напоминание о приближающемся интервью?

Например, если интервью длится 5 часов, база данных отправит этому пользователю напоминание по электронной почте.

Должен ли я использовать cron? Daemon? Не семейный с демоном, просто видел это, когда я искал это. Или я должен использовать что-то еще? Это чистое / нативное PHP-приложение без фреймворков.

Вот что у меня есть:

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

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

но я не совсем понимаю, где и как мне искать эти интервью и отправлять напоминания.

Если я ищу ВСЕ интервью, это создает большую нагрузку на сервер.

спасибо за помощь и предложения!

1 Ответ

0 голосов
/ 18 января 2019

Если вы не хотите, чтобы ваш PHP-процесс работал постоянно, вам понадобится какой-то обычный планировщик, такой как cron. Это может заставить ваш код запускаться каждую минуту, каждый час или любой другой интервал.

Обычно каждые пять или пятнадцать минут достаточно для проверки предстоящих событий и отправки уведомлений о них.

Обязательно установите флажок в вашей базе данных, если что-то уже было уведомлено, поэтому, если ваш скрипт вылетает, и вам нужно перезапустить его, он может начать с того места, где остановился.

...