В Unix-подобных операционных системах для периодического выполнения определенных заданий есть планировщик задач, который называют cron-ом. Идея крона получила широкое распространение, на сегодняшний день термин используется в различных программных продуктах, означающий некую программную реализацию планировщика задач.
В CMS WordPress так же есть реализация крона, которая помогает автоматизировать некоторые работы по сайту, к примеру, публикация новостей по расписанию, генерация карты сайта, очистка корзины, проверка наличия обновлений, и т.п. как говориться, стоит лишь «приказать». Однако есть и обратная сторона медали, к сожалению, иногда WP крон может стать и не совсем полезным, даже наоборот.
Об этом до сих пор ведутся дискуссии, о таких случаях, когда крон начинает грузить сервер, грузит его так, что сайт перестает открываться. В большинстве случаев проблема кроется в нерациональном использовании крона. После разбора полётов в лог-файлах сервера выясняется, что проблема возникает из-за некого файла wp-cron.php, выполнение которого и вызывает сильную нагрузку.
Примерно так выглядит конец строки в логах, указывающие на попытку выполнения крона.
href.kz/wp-cron.php?doing_wp_cron=1386624285.3709900379180908203125
Работу крона можно приостановить до выявления и устранения причин больших нагрузок на сервер. Для этого в файле конфигурации wp-config.php необходимо добавить константу DISABLE_WP_CRON со значением true:
define('DISABLE_WP_CRON', true);
По умолчанию этой строки в файле wp-config.php скорее всего нет, её можно дописать приблизительно после строки:
define ('WPLANG', 'ru_RU');
Для информации так же стоит отметить, что в файле wp-cron.php есть функция
ignore_user_abort(true);
которая продолжает выполнение скрипта, даже при превышении установленного лимита параметра max_execution_time для PHP. Закомментировав данную функцию, скрипт будет выполняться в пределах установленного лимита времени в настройках PHP.
Если уж сильно надо, то есть дельный совет – это выполнять файл wp-cron.php системным кроном сервера, в момент времени, когда нагрузка сервера минимальна.