Найдите симптомы задержки

Проверьте отложенные публикации, письма, импорты, копии и собственные задания. Посмотрите список событий, ожидаемое и фактическое время последнего успешного запуска.

Отсутствие ошибки на странице не подтверждает работу cron. Фоновый процесс часто падает отдельно от обычного запроса.

Проверьте механизм запуска

Стандартный WP-Cron проверяет задачи при обращениях к сайту, поэтому редкие посещения дают задержки, а тяжёлые задачи влияют на запросы. Для предсказуемости его запускают системным планировщиком с подходящей частотой.

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

Сделайте выполнение наблюдаемым

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

Тестируйте восстановление после сбоя и предотвращайте параллельный запуск. Очередь должна догонять безопасно, не перегружая сайт.

Перенесите запуск на системный планировщик

На сайте с редкими посещениями встроенный WP-Cron может запускаться с задержкой, а при нагрузке — создавать лишние проверки во время веб-запросов. Системный cron должен регулярно вызывать обработчик WordPress, пока встроенный запуск при показе страниц отключён.

Не допускайте параллельного запуска тяжёлой задачи. Используйте блокировку, разумный интервал и ограничение времени, а также записывайте начало, завершение и результат. Мониторинг должен реагировать на пропуск ожидаемого успешного выполнения.

Разбираете похожую ситуацию? Расскажите о ней в форме ниже — обсудим, с чего начать именно в вашем случае.