@suhuxa1

Как заблокировать повторное включение функции по планировщику wordpress?

Привет!
Добавил в планировщик выполнение функции каждый час. Теперь вопрос - есть ли 100% гарантия того, что эта функция выполнится лишь 1 раз и все, не будет случайного двойного запуска функции? Я думаю .что гарантии 100% нет ни в чем, поэтому хотелось бы как-то обезопасить себя от этого. Так как поставить какой-нибудь блокировщик, который бы работал на протяжении работы функции? И лишь потом только разрешал ее вновь запускать?
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте.
Планировщие (WP-Cron) псевдокрон также, как и Cron выполнит задачу в указанное вами время, если все сделано корректно. Однако, в отличие от CRON, WP CRON может не сработать, если на сайте недостаточно трафика (пользователей).
Ответ написан
Комментировать
Kalombyr
@Kalombyr
Прив. Может выполниться сколь угодно раз т.к. у Крона нет функции запрета двойного запуска.
Самое простое - создавать какой-либо файл или запись в базе о том, что функция начала выполнение и убирать, когда закончилась (только протестить на внештатные ситуации, что бы запись при них убиралась). Но вообще лучше всего конечно было бы это делать снаружи - внешним приложением, например с помощью lockrun, но это если vps, если обычный хостинг, то увы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы