Найдите симптомы задержки
Проверьте отложенные публикации, письма, импорты, копии и собственные задания. Посмотрите список событий, ожидаемое и фактическое время последнего успешного запуска.
Отсутствие ошибки на странице не подтверждает работу cron. Фоновый процесс часто падает отдельно от обычного запроса.
Проверьте механизм запуска
Стандартный WP-Cron проверяет задачи при обращениях к сайту, поэтому редкие посещения дают задержки, а тяжёлые задачи влияют на запросы. Для предсказуемости его запускают системным планировщиком с подходящей частотой.
Проверьте блокировки, длительность, память и сетевые вызовы задачи. Повторный запуск не должен создавать дубли заказов или писем.
Сделайте выполнение наблюдаемым
Храните время успеха и понятную ошибку критичных задач. Настройте уведомление, если задача не завершилась в допустимое окно.
Тестируйте восстановление после сбоя и предотвращайте параллельный запуск. Очередь должна догонять безопасно, не перегружая сайт.
Перенесите запуск на системный планировщик
На сайте с редкими посещениями встроенный WP-Cron может запускаться с задержкой, а при нагрузке — создавать лишние проверки во время веб-запросов. Системный cron должен регулярно вызывать обработчик WordPress, пока встроенный запуск при показе страниц отключён.
Не допускайте параллельного запуска тяжёлой задачи. Используйте блокировку, разумный интервал и ограничение времени, а также записывайте начало, завершение и результат. Мониторинг должен реагировать на пропуск ожидаемого успешного выполнения.
Разбираете похожую ситуацию? Расскажите о ней в форме ниже — обсудим, с чего начать именно в вашем случае.



