Улучшенная обработка злоупотреблений нагрузкой на сервер WP-CRON


Существует несколько отчеты на как wp-крон является а далеко из идеальное решение, потому что оно запускается каждый раз при загрузке страницы, что в большинстве сценариев не требуется (один сценарий, в котором это было бы необходимо, - это когда вы используете запланированные публикации)

Общий совет состоит в том, чтобы добавить define('DISABLE_WP_CRON', true); к wp-config.php затем запланируйте реальное задание cron (если у вас достаточно прав администратора к таким).

Но начиная с WP 3.3, существует WP_CRON_LOCK_TIMEOUT, который " определяет период времени, в течение которого будет уволен только один сотрудник".

Если вы запустите сотни установок WP, вам придется создать (и удалить, когда эта установка wp будет удалена) МНОЖЕСТВО заданий cron, что может стать помехой. Поэтому кажется, что лучшим решением в наши дни является установка define('WP_CRON_LOCK_TIMEOUT', 900); ( если вы хотите, чтобы wp-cron запускался каждые 900 секунд).

В вопрос в следующем: кто-нибудь уже использовал WP_CRON_LOCK_TIMEOUT с этой целью? Это его предназначение?

Author: Gaia, 2013-05-20

1 answers

Это предполагаемое использование константы WP_CRON_LOCK_TIMEOUT.

Когда WordPress загружен, он проверяет, запущено ли задание cron (если cron заблокирован). Если cron не заблокирован, он попытается создать блокировку - если время ожидания блокировки не было достигнуто, блокировка не может быть получена и cron не запускается.

Если задание cron не выполняется, а время ожидания истекло (это означает, что может быть создана блокировка), то выполняется cron.

 7
Author: EAMann, 2013-05-20 18:17:31