Замена WordPress Cron обычным cron

wp-cron real cron

Поскольку WordPress должен работать на самых разных платформах, операционных системах и конфигурациях, он не может полагаться на то, что на сервере будет служба cronjob, которая сможет выполнять запланированные задачи. Вот почему разработчики WordPress создали обходной путь — файл wp-cron.php в вашей основной папке WordPress выполняется каждый раз, когда кто-то загружает страницу. Затем он проверяет, есть ли запланированное задание, которое нужно выполнить, и выполняет его при необходимости.

Однако в некоторых случаях этот файл может стать целью атаки DOS, или плагины кэширования могут помешать его выполнению, что может вызвать либо большую нагрузку на сервер, либо запланированные задачи могут не выполняться должным образом и своевременно. Вот почему вы можете заменить это постоянное выполнение файла реальным заданием cron.

Во-первых, вам нужно отключить выполнение скрипта каждый раз, когда кто-то загружает одну из ваших страниц. Для этого откройте файл wp-config.php в основной папке WordPress и добавьте следующую строку перед /* That's all, stop editing! Happy blogging. */:

define('DISABLE_WP_CRON', true);

Как только вы это сделаете, вам нужно настроить реальное задание cron и выполнить с ним файл wp-cron.php. Если вы не хотите запускать его слишком часто — 30 минут должно подойти для большинства сайтов. Для этого войдите в панель управления хостингом и перейдите к инструменту заданий Cron.

Затем добавьте следующую команду, которая будет выполняться каждые 30 минут:

wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Вам необходимо заменить yourdomain.com на ваше фактическое доменное имя. Инструмент заданий Cron имеет некоторые наиболее распространенные предустановки расписаний, так что вы можете просто выбрать Каждые 30 минут из выпадающего списка минут и поместить символ «*» в другие.

Замена WordPress Cron обычным cron
Была ли эта статья полезна?
нет 0
просмотры: 1067