Home News

Ошибка wp-cron.php WordPress. Нагрузка и нехватка памяти

01.09.2018

видео Ошибка wp-cron.php WordPress. Нагрузка и нехватка памяти

wp automatic cron job error

Буквально пару недель назад, столкнулся совсем случайно с неприятным моментом в серверных логах проекта. Значительное увеличение нагрузки на исполнительные  файлы. Сопровождающиеся нехваткой памяти, фатальной ошибкой и невозможностью увеличить лимит допустимого значения памяти. Кажется что это банальная ошибка нехватки памяти, которую можно спокойно исправить.



Конечно все доступные методы исправления этой ошибки, я описал в прошлой статье.  Надеюсь они будут полезны и решат ваши проблемы. В моем случае, все методы были провальными. Рассмотрев более детально логи, можно было увидеть. В конце адреса ошибка обращалась непосредственно к wp-cron.php. Что и  приводило к фатальной ошибке. Именно поэтому я пишу этот пост, возможно он пригодиться тем у кого возникнут схожие проблемы с cron на WordPress.


Disabling wp-cron.php in WordPress

Содержание статьи:

Для чего нужен wp-cron.php на WordPress

Cron — своего рода, частично заменяет серверный планировщик. Беря на себя некоторые функции к примеру:

Публикация постов Очистка корзины движка Очистка ревизий записей Ведение кеша Отправка некоторых уведомлений

Выполнение заданий происходит немного другим способ. Серверный cron взаимодействует с исполнительным элементом, точно в заданный интервал указанный при формировании задания. А вот wp-cron.php, выполняется только тогда, когда пользователь заходит на ресурс.


How to Clear Your Pending WordPress Cron Tasks in phpMyAdmin (in 14 seconds)

Wp-cron не работает, тормозит и способствует высокой нагрузке

Действительно недостатки есть везде, даже в работе с WordPress. Я не хочу сказать, что эта система управления плохая нет. Это отличная  стабильная CMS, а минусы есть везде. Главной ошибкой этого движка, является его планировщик заданий, установленный по умолчанию.

Который вызывает значительную нагрузку на сервер и базу данных во время исполнения. Время загрузки сайта увеличивается от 100-500 мс, если возникает одновременный поток пользователей от 100 человек. Мгновенно возрастает ресурсозатратность, использование памяти и ресурсов процессора. Соответственно серверная часть, не может позволить использовать большее количество ресурсов чем установлено. Именно поэтому мы получаем фатальную ошибку, спровоцированную торможением этого планировщика.

Как отключить Wp-cron и использовать серверный планировщик

Отключение достаточно простое, открываем файл конфигурации wp-config.php. Затем следует ввод константы:

define ( 'DISABLE_WP_CRON' , true ) ;

Смотрите изображение:

После отключения планировщика непосредственно на WordPress, необходимо сразу включить его на сервере. Так как выполнение всех запланированных задач, будет мгновенно завершено. А это не допустимо!

Подключаем задание cron в панеле VestaCp

Для этого нам необходимо, авторизоваться в хостинг панели. Затем перейдите в соответствующий раздел и нажмите на «Плюс», перейдя в раздел добавления задания. В строке «Команда» — укажите следующий путь к исполнительному файлу:

http : //ваш_сайт/wp-cron.php?doing_wp_cron

Задайте интервал исполнения каждую минуту или каждые пять минут. Как вам удобно! Для низко-ресурсных серверов, лучшим значением будет 5 минут.

Таким образом можно достаточно быстро, добавить данное задание в очередь на выполнение.

Как заменить wp-cron на серверный планировщик

Эти методы подойдут, в том случае если у вас нет панели управления VestaCp. Для смены планировщика заданий, воспользуйтесь консолью. Затем наберите одну из предложенных команд на выбор:

* / 4 * * * * wget - q - O - http : //ваш_сайт/wp-cron.php?doing_wp_cron > /dev/null 2>&1

* / 4 * * * * curl - O http : //ваш_сайт/wp-cron.php?doing_wp_cron > /dev/null 2>&1

* / 4 * * * *    cd / var / www / ваш _сайт / public_html ; php wp - cron . php > / dev / null 2 > & 1

Все три задания обращаются к файлу с интервалом один раз в четыре минуты. Нужно выбрать один из них и изменить  ваш_сайт на домен.

Немного дополнительной информации: Если у вас нет желания отключать плаировщик на WordPress. Воспользуйтесь плагином, который поможет понять какие задания активны и на сколько влияют на ресурсы сервера. Плагин называется: WP-Cron Events

Эти статьи относятся к теме которую вы изучаете, посмотрите их, пожалуйста. Возможно они будут Вам интересны.

Спасибо, что читаешь Nicola Top

rss