Меню

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Панель управления хостингом Vestacp, добавление задания в планировщик заданий cron. Пример добавления задания.

Добавление задания в планировщик cron на vestacp. Указание пути к исполняемому скрипту wp-cron.php и соответствующие параметры.

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

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

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

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

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

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

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

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

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

5 × 4 =