Выполнить код после 10-минутной задержки в PHP

Мне нужно отсрочить выполнение некоторого кода в PHP (например, отправить электронное письмо) на 10 минут после события (подача формы).

Каков наилучший способ сделать это?

Был бы моим единственным вариантом, чтобы каждую минуту запускать Cronjob? Это практично на общем хостинге?

Related of "Выполнить код после 10-минутной задержки в PHP"

Использование cronjobs – лучший способ.

Если вы не можете использовать cronjob на своем общем хостинге (обратитесь в службу поддержки), вы можете запустить cronjob на компьютере, подключенном к Интернету (то есть на вашем домашнем компьютере), который запускает wget на php-страницу на вашем сервере, аутентифицировать на нем, а затем запустите PHP-код для отправки вашей электронной почты.

Для части кода PHP я буду использовать таблицу базы данных со всеми отправляемыми сообщениями электронной почты, поле create_date и поле состояния.

Ваш PHP-код, вызываемый заданием, будет просто выполняться (в псевдокоде):

$batchRecords = takeAbunchOfRecordsWhereStatus(NOT_SENT); while($batchRecords) { if($creationDate + 10 minutes >= now()) { sendEmail(); markRecordAsSent(); } }