О web-разработке
и даже немного больше...

wp-cron.php грузит сервер

wp-logoВ 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 системным кроном сервера, в момент времени, когда нагрузка сервера минимальна.

Опубликован: 13.12.2013 г.

См. также:

Убираем URL из формы комментариев WordPress
Работа с базой данных в WordPress
SQL-запросы для смены домена в WordPress
Мультиязычность с помощью плагина Polylang
Как создать свои шорткоды в WordPress
Как добавить виджет на сайт WordPress?
Добавление записей в WordPress средствами PHP
Как отключить архивы по авторам в WP?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта