Как запускать Cronjobs чаще, чем один раз в минуту ?

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

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

Я запускаю этот скрипт с помощью cronjobs. К сожалению, cronjobs могут выполняться не чаще одного раза в минуту. Так что в худшем случае пользователь должен подождать одну минуту, пока его электронное письмо действительно не будет отправлено.

Моя текущая идея обходного пути заключается в вызове сценария с дополнительным параметром сна и дублировании cronjobs.

Пример:

* * * * * curl emails.php?sleep=0 >/dev/null 2>&1
* * * * * curl emails.php?sleep=10 >/dev/null 2>&1
* * * * * curl emails.php?sleep=20 >/dev/null 2>&1
* * * * * curl emails.php?sleep=30 >/dev/null 2>&1
* * * * * curl emails.php?sleep=40 >/dev/null 2>&1
* * * * * curl emails.php?sleep=50 >/dev/null 2>&1

В приведенном выше примере сценарий будет запускаться каждые 10 секунд. Первая строка сценария emails.php будет выглядеть так:

sleep($_REQUEST['sleep']);
13
задан hakre 24 December 2012 в 17:14
поделиться