параллелизм — Php, как запрограммировать «crontasks» если сервер не поддерживает это?

Итак, сайт находится на производственном сервере, который не поддерживает crontasks. И я хочу удалить недействительные запросы пароля, неиспользованные скидки, все, что превышает «крайний срок». Это не проблема, они не являются точными, это не проблема, если запрос пароля действителен в течение 24 часов и его 24 часов и 58 секунд (поэтому они могут опаздывать на несколько секунд).

В настоящее время я делаю это так:

private function thisMethodRunsAtEveryRequests()
{
if (rand(1,100) == 1)
{
do cleaning SQLs
}
}

Тем не менее, есть проблемы, когда он запускается одновременно.

-1

Решение

Если вы можете выполнить задачу cron на другом сервере, вы можете сделать следующее:

  • Создайте файл «website.com/cron.php», который будет делать то, что вы хотите, чтобы он делал
  • Создайте задачу cron для другого сервера, который загрузит website.com/cron.php через завиток, как: * * * * * curl http://www.website.com/cron.php > /dev/null 2>&1

Если нет, то вы можете записать, когда ваш скрипт в последний раз выполнял эту «задачу cron», в файл / базу данных и проверять ее при каждой загрузке страницы, когда в последний раз она выполнялась и если разница между time() и в прошлый раз достаточно, запустите задачу снова.

1

Другие решения

Других решений пока нет …