@Max_Borisov

Работа с WP-Cron?

Добрый день! Есть несколько вопросов по работе WP-Cron.
1) Предположим на сайте есть n задач, которые должны запустить в определенное время. На сайт долго никто не заходил, после того, как на сайт кто-то зашел, начали отрабатывать нужные скрипты. В каком порядке эти скрипты будут запускаться? По очереди или все сразу?
2) Есть долгий скрипт, который нужно запустить при обновлении\добавлении\редактировании записи. Если запустить его с помощью WP-Cron, он падает. Как лучше обработать такой долгий скрипт? Возможности отправлять axaj запросы и проверять, сколько выполнено, нет.
  • Вопрос задан
  • 368 просмотров
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Встроенный WP Cron годится только для самых простых задачек, для более надежного срабатывания четко когда надо используйте крон на уровне ОS. В конфиге выключите встроенный крон:

define( 'DISABLE_WP_CRON', true );

И создайте крон-задачу на уровне OS, задав нужный интервал и команду вида:

wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Вместо wget можете использовать curl, httpie, или /usr/local/bin/php, тут смотрите по ситуации. Как настраивать крон-задачи из командной строки можете погуглить, как добавить если у вас какая-нибудь CPanel - тоже.

А еще есть https://github.com/humanmade/Cavalcade

Ну а для долгих и асинхронных скриптов есть RabbitMQ и вот это все. Посмотрите https://github.com/10up/WP-Minions
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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