Запланированные действия

Запланированные действия управляют фоновыми задачами в WooCommerce — например, отправкой уведомлений о заказах и обработкой платежей. Понимание их работы помогает магазину работать стабильнее и избегать проблем, таких как задержки писем или пропущенные обновления заказов.Все запланированные действия можно найти в админке WordPress в разделе WooCommerce > Состояние > Запланированные действия.

WP-Cron

Перед тем как разобраться с запланированными действиями, важно понять, что такое cron и WP-Cron.

Cron — это инструмент планирования задач на сервере, который используется для автоматизации различных процессов. WP-Cron — это механизм WordPress для выполнения задач по расписанию.

WP-Cron запускается при каждом посещении сайта. Он позволяет выполнять задачи в фоне, не влияя заметно на скорость загрузки страниц. Например, он проверяет обновления тем и плагинов, отправляет письма и управляет акциями в WooCommerce.

Поскольку WP-Cron зависит от посещаемости сайта, при низком трафике задачи могут выполняться с задержкой. А при очень высоком трафике возможны проблемы с производительностью.

WP Crontrol — это бесплатный инструмент, который помогает просматривать, запускать и диагностировать задачи cron.

Action Scheduler

Action Scheduler — это система очередей задач для WordPress, которая позволяет обрабатывать большое количество фоновых операций. Она активно используется в WooCommerce для обработки платежей по подписке, вебхуков и других событий.

Задачи выполняются пакетами по 20 штук, что помогает избежать переполнения памяти PHP. При этом одновременно может обрабатываться несколько очередей (до пяти).

Как работает Action Scheduler в WooCommerce

Action Scheduler использует отдельный тип записей WordPress — scheduled-action — для хранения информации о задачах: имя хука, аргументы и время выполнения.

Он запускается через хук action_scheduler_run_schedule, который, в свою очередь, вызывается с помощью WP-Cron.

Проще говоря, WP-Cron запускает Action Scheduler.

После запуска Action Scheduler ищет задачи scheduled-action, которые готовы к выполнению. По умолчанию он зависит от WP-Cron, а значит — от посещаемости сайта.

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

Запланированные действия в WooCommerce

Как уже упоминалось, список всех задач доступен в WooCommerce > Состояние > Запланированные действия.

Список запланированных действий в WooCommerce

Здесь вы можете:

  • Запустить ожидающее действие вручную
  • Отфильтровать задачи по статусу (например, выполняющиеся)
  • Просмотреть логи неудачных действий
  • Найти задачи по имени хука, дате выполнения или группе

Дополнительные материалы

Полезные ссылки по теме WP-Cron и запланированных действий:

Поделиться с друзьями
Документация WooCommerce