Intereting Posts
Как получить доступ к редактору CSS Удалить метабокс из определенного шаблона страницы в admin Как получить имя базы данных в WordPress? Удалять все запланированные события с помощью определенного крючка Тип почтового сообщения и таксономия WordPress Двунаправленная синхронизация типа сообщения среди многосайтовых блогов Доступ редактора к меню: пользовательский тип сообщения отсутствует Возвращаемый пользователь Мета текст в качестве ссылок на редактирование сообщений внутри столбцов пользователя WordPress прослушивает $ _POST в functions.php Как проверить, является ли последний сегмент uri типом пользовательской почты или таксономией? Индивидуальная проверка формы Вложенный короткий код внутри Не обрабатывается WordPress EduPress и бизнес-приложение Тема не установлена ​​ Изменен адрес URL-адреса в Wordress Установить настраиваемую панель инструментов для экземпляра ACF TinyMCE (через ajax?)

Внешняя работа cron срабатывает слишком много раз

Работы cron для WordPress, похоже, вызывают некоторые проблемы на нашем сервере, поэтому я добавил это в нижней части нашего wp-config.php:

define('DISABLE_WP_CRON', 'true'); 

И добавил это с помощью «crontab -e»:

 */15 * * * * /usr/bin/php /path/to/wordpress/wp-cron.php > /var/log/cronoutput.log 

Если я не ошибаюсь, вышесказанное позволит нашему серверу выполнять задания WordPress cron каждые 15 минут.

Чтобы проверить, я добавил cronjob в файл темы functions.php, который просто отправил мне электронное письмо. Я добавил cronjob с этим кодом в functions.php:

 function my_cron_schedules($schedules){ if(!isset($schedules["5min"])){ $schedules["5min"] = array( 'interval' => 5*60, 'display' => __('Once every 5 minutes')); } if(!isset($schedules["30min"])){ $schedules["30min"] = array( 'interval' => 30*60, 'display' => __('Once every 30 minutes')); } return $schedules; } add_filter('cron_schedules','my_cron_schedules'); // Schedule an action if it's not already scheduled if ( ! wp_next_scheduled( 'isa_add_every_five_minutes' ) ) { wp_schedule_event( time(), '5min', 'isa_add_every_five_minutes' ); } // Hook into that action that'll fire every three minutes add_action( 'isa_add_every_five_minutes', 'isa_add_every_five_minutes_func' ); function isa_add_every_five_minutes_func() { mail( 'myemailaddress@gmail.com', 'this is a cron job', '' ); } 

Затем я ждал прибытия писем.

То, что я ожидал бы: письмо раз в 15 минут, потому что задания cron должны выполняться только каждые 15 минут, верно?

Но произошло то, что:

  1. Письмо было отправлено раз в 5 минут, как указано в коде, даже если задание cron на сервере должно срабатывать каждые 15 минут.
  2. Обычно только одно электронное письмо отправляется сразу, как и ожидалось, но иногда более десятка писем будут отправляться сразу.

Итак, мои вопросы: как все задания cron все еще выполняются каждые 5 минут, хотя файл wp-cron.php должен выполняться только один раз каждые 15 минут?

И, как возможно, что работа cron иногда выполняется более десятка раз за одну минуту?

Solutions Collecting From Web of "Внешняя работа cron срабатывает слишком много раз"