Фоновые процессы и cron
Многие операции Woo2iiko выполняются в фоне, чтобы не блокировать интерфейс и обойти таймауты PHP.
Технология
- WP Background Processing (библиотека
wp-background-processing) — асинхронные очереди. - WP-Cron — задачи по расписанию.
- Плагин добавляет кастомные интервалы cron:
min,5min,10min,15min,30min,2hourly,3hourly,6hourly,8hourly,12hourly,24hourly.
Задачи по расписанию
| Задача | Настройка интервала | По умолчанию | Что делает |
|---|---|---|---|
| Импорт продуктов | iiko_import_time | 5min | Smart-импорт (по revision). |
| Импорт категорий | iiko_import_categories_time | — | Импорт категорий. |
| Синхронизация купонов | iiko_coupon_sync_time | 24hourly | Sync скидок iiko → WC. |
| Синхронизация пользователей | iiko_user_sync_time | 2hourly | Sync клиентов. |
| Проверка stop-list | iiko_stop_list_time | — (выкл) | Обновление остатков. |
| Проверка удалённых продуктов | iiko_check_removed_time | — | Удаление отсутствующих товаров. |
| Очистка логов | — | — | Удаление старых логов. |
| Очистка изображений | — | — | Удаление потерянных изображений. |
| Pay by Table | iiko_pay_by_table_time | min | Отправка платежей по столу. |
| Performance alerts | iiko_performance_check | 5min | Проверка порогов производительности. |
Управление задачами
В админке (WooCommerce → iiko → Cron / Background):
- Просмотр всех задач и их расписания.
- Ручной запуск задачи (
runTaskNow). - Отмена фоновой задачи (
cancelBackgroundProcess). - Статус в дашборд-виджете.

Уведомления о фоновых событиях
При завершении/ошибке фоновой задачи:
- Admin notice в админке.
- Telegram-уведомление (если включено
tg_bg_notifications).
WP-CLI для фоновых задач
bash
wp woo2iiko background_import # импорт продуктов
wp woo2iiko background_check_stop_list # проверка стоп-листов
wp woo2iiko background_check_removed # проверка удалённых
wp woo2iiko background_coupon_sync # синхронизация купоновПроверка cron
Если фоновые задачи не выполняются:
- WP-Cron должен работать. Проверьте: в
wp-config.phpне должно бытьDISABLE_WP_CRON = trueбез альтернативного серверного cron. - Для надёжности настройте серверный cron, дёргающий
wp-cron.php:bash*/5 * * * * curl -s https://ваш-сайт/wp-cron.php?doing_wp_cron > /dev/null 2>&1 - Проверьте интервалы в настройках плагина.
Хуки фоновых процессов
| Действие | Когда срабатывает |
|---|---|
iiko_background_start | Перед запуском фоновой задачи. |
iiko_background_complete | После завершения задачи. |
iiko_stoplist_background_task | Перед задачей стоп-листа (можно отменить). |