wp-cron.php - Как удаляются переходные процессы WP Cron?
У меня есть сеть Wordpress, в которой мне поручено отключить WP Cron и заменить его на Apache Cron. Я настроил PHP-скрипт, который при вызове Apache Cron будет проходить по всем сайтам в сети и отправлять запрос на этот сайт wp-cron.php страница, таким образом, выполняя свой cron.
Я хотел бы использовать временную функцию Wordpress, чтобы ограничить мой PHP-скрипт, поскольку Wordpress ограничивает свой собственный cron. Однако, когда я копаюсь в коде, я вижу doing_cron установлен переходный процесс (в cron.php #217), но никогда не отключается.
Является ли переходный процесс когда-либо отключенным или Wordpress ждет 60 секунд, чтобы снова запустить cron (в cron.php #200)
Любые мысли о временном процессе doing_cron или, возможно, о другом способе подавления моего скрипта cron будут оценены по достоинству.
2 answers
Переходные процессы истекают сами по себе. Нет необходимости их отключать.
И вызвать wp-cron вручную просто. Просто задайте для параметра DISABLE_WP_CRON значение true в файле wp-config, чтобы отключить обычный процесс создания cron. Затем сделайте так, чтобы ваша система cron попала wp-cron.php время от времени вручную для обработки ожидающих заданий.
Нет никакого другого специального трюка, который вам нужно сделать. Не нужно возиться с переходными процессами или специальным кодированием.
$flag = get_transient('doing_cron');
Если переходное время истекло, то во время этого вызова оно будет сброшено и false
возвращено.
Я обычно полагаюсь на wp cron, поэтому у меня нет опыта, чтобы посоветовать вам, как с этим справиться (для мультисайта сверху).