Итак, у меня есть куча запросов к базе данных и Wordpress для создания таблицы лидеров. Запрос данных, вычисление, а затем обновление, похоже, много делают и действительно замедляют отображение страницы списка лидеров. Поэтому я пытаюсь получить запрос и вычисление только тогда, если прошло больше часа с момента последнего запроса. Это мой код до сих пор:Запустите PHP-код, только если прошло 1 час с момента последнего запуска.
<?php
static $lastQueryTime;
if(!isset($lastQueryTime) || ($now > $lastQueryTime + (60*60))){
$lastQueryTime = $now;
//PHP to run...Querying, calculating, updating
}
?>
Я также попытался «глобальный» вместо «статика», но ни казалось, на работу, выполнение запроса всегда происходит при загрузке страницы.
Вам нужно будет сохранить значение за пределами PHP (которое выполняется во время выполнения). Наиболее вероятным вариантом является база данных SQL (MySQL), самым быстрым вариантом будет кеш-сервер (Redis), а самый быстрый для настройки - это статический файл (который вы читаете/записываете напрямую). – Sam
Ни 'global', ни' static' вам не пригодится, потому что ваш PHP-скрипт «живет» до тех пор, пока ему нужно ответить на текущий запрос ... после этого он будет выполнен, и все его переменные исчезнут. Вам нужно сохранить значения где-нибудь, где следующий «экземпляр» вашего скрипта может прочитать его снова - файл, базу данных, ... – CBroe
Почему у вас нет вашего скрипта, запускаемого 'cron' просто? – mario