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 будут оценены по достоинству.

Author: Jonnybojangles, 2011-01-15

2 answers

Переходные процессы истекают сами по себе. Нет необходимости их отключать.

И вызвать wp-cron вручную просто. Просто задайте для параметра DISABLE_WP_CRON значение true в файле wp-config, чтобы отключить обычный процесс создания cron. Затем сделайте так, чтобы ваша система cron попала wp-cron.php время от времени вручную для обработки ожидающих заданий.

Нет никакого другого специального трюка, который вам нужно сделать. Не нужно возиться с переходными процессами или специальным кодированием.

 6
Author: Otto, 2011-01-15 17:44:02

Cron.php#195

$flag = get_transient('doing_cron');

Если переходное время истекло, то во время этого вызова оно будет сброшено и false возвращено.

Я обычно полагаюсь на wp cron, поэтому у меня нет опыта, чтобы посоветовать вам, как с этим справиться (для мультисайта сверху).

 3
Author: Rarst, 2011-01-15 13:58:14