Intereting Posts
WPAlchemy MediaAccess, вставляющий медиа-ссылку в редакторе WP вместо пользовательского поля в метабоксе Получение уведомлений администратора, работающих с ошибками плагина wp_enqueue_style не позволит мне использовать только экран Организация нечувствительного к времени контента Преобразование формата Datepicker формата jQuery в формат даты SQL Как отображать только две категории Вместо отображения всех категорий Получение значений из базы данных с задержкой Как активировать меню Collapse в WordPress? WooCommerce: условный тег для страницы с пожеланиями Удалить пользовательский тип сообщения, сгенерированный плагином (Календарь событий) Классический, но озадачивающий «Загруженный файл не может быть перемещен» Полностью скрыть информацию о пользователе Структура проектов и клиентов Неопределенный индекс: проблема с плагином действий Что такое действие, которое нужно использовать, если вы хотите зафиксировать новый пароль во время смены пароля?

что стреляет cron

У меня были проблемы при попытке настроить простой cronjob.

Многие учебники WordPress, подобные этому, http://tommcfarlin.com/wordpress-cron-jobs/ указывают на crontab с некоторым расписанием, а в WordPress указывается другое расписание. Кажется, это не понятно.

В учебнике указано каждые 15 минут:

*/15 * * * * wget -q -O – http://yourdomain.com/wp-cron.php?doing_wp_cron

а затем в коде они говорят:

wp_schedule_event( time(), 'hourly', 'my_hourly_event' );

Итак, этот cron будет запускаться каждые 15 минут или каждый час?

Solutions Collecting From Web of "что стреляет cron"

Ну, это не лучший учебник, с которым я столкнулся, поэтому я понимаю, почему вы в замешательстве …

У Smashing Magazine есть немного лучше учебник по этому вопросу.

Некоторые цитаты из этой статьи, которые помогут вам понять, как работает WP Cron …

WordPress Cron – это то, что многие называют «системой псевдо-cron». Разница заключается в том, как UNIX cron и WordPress Cron принимают меры. Типичная система UNIX cron работает в следующем порядке:

  • Наступает время, связанное с действием.
  • Крон выполняет действие, связанное с тем временем.

С WordPress Cron это работает по-другому:

  • Посетитель приходит на любую страницу вашего веб-сайта WordPress.
  • WordPress Cron проверяет каждое событие cron, чтобы узнать, прошло ли запланированное время.
  • Если запланированное время для этого события прошло, то WordPress Cron выполняет любые действия, связанные с этим событием.

Таким образом, WP Cron отличается от UNIX cron, но его назначение очень похоже.

Самая большая проблема с WordPress Cron заключается в том, что это зависит от посещений – если на вашем сайте нет посещений, WP Cron не будет работать). Вот почему некоторые учебные пособия говорят вам, что вы должны настроить сервер cron на wp-cron.php (он заставит cron WordPress работать).

Так почему же разные времена?

Предположим, что:

  • вы запланировали почасовое действие в WordPress Cron,
  • последний раз, когда он бежал, было в 2:15,
  • ваш cron вашего сервера работает через 5 минут после каждого часа.

Что произойдет, если с этого момента не будет посещений на нашем сайте?

  • на 3:05 сервер cron заставляет WP cron запустить – но WP cron ничего не сделает (он должен работать почасово, и это всего лишь 50 минут с момента последнего запуска)
  • в 3:15 WordPress cron не будет запускаться – нет посещений
  • на 4:05 сервер cron снова заставляет WP cron запустить – теперь он будет выполнять свою работу.

Но, как вы можете видеть, даже если это мероприятие планируется запустить ежечасно, его не увольняют почти 2 часа. Задание большего времени работы сервера cron приведет к сокращению этой задержки.