Отладка WordPress крона перевод

Несомненным лидером для отладки WordPress крона всегда являлся плагин WP-Crontrol , через который можно было увидеть список запланированных и выполняющихся в данный момент задач или добавить новую задачу.

Но что делать, если вы не хотите ставить еще один плагин или вы заядлый линуксоид, который привык работать через командную строку? Тут на помощь приходит WP-CLI.

Установка WP-CLI

Скачайте файл wp-cli.phar, используя wget или curl:

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Убедитесь, что свежескачанный файл валидный и рабочий:

php wp-cli.phar --info

Для использования WP-CLI из командной строки (будете печатаь wp) сделайте файл исполняемым и добавьте его в ваш PATH:

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Если WP-CLI установлен корректно, то при вводе команды wp --info вы должны получить примерно такой вывод:

PHP binary:    /usr/bin/php5
PHP version:    5.5.9-1ubuntu4.14
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:        /home/wp-cli/.wp-cli
WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/
WP-CLI global config:   /home/wp-cli/.wp-cli/config.yml
WP-CLI project config:
WP-CLI version: 1.1.0

Как отлаживать

Чтобы вывести на экран вообще все имеющиеся задачи, вбейте:

wp cron event list

Вы увидите примерно такую картинку:

+--------------------------------+---------------------+--------------------+-----------------------+
| hook                           | next_run_gmt        | next_run_relative  | recurrence            |
+--------------------------------+---------------------+--------------------+-----------------------+
| w3_pgcache_cleanup             | 2016-08-16 19:16:01 | now                | 6 minutes             |
| w3_pgcache_prime               | 2016-08-16 19:17:01 | now                | 5 minutes             |
| w3_objectcache_cleanup         | 2016-08-16 19:31:26 | 12 seconds         | 16 minutes 40 seconds |
| woocommerce_geoip_updater      | 2016-09-01 16:30:00 | 2 weeks 1 day      | 1 month               |
+--------------------------------+---------------------+--------------------+-----------------------+

Для удаления конкретной задачи используйте:

wp cron event delete woocommerce_geoip_updater

Для запуска ближайших заданий в режиме отладки:

wp cron event run --due-now --debug

Вы получите похожий вывод:

Debug (bootstrap): No readable global config found (0.006s)
Debug (bootstrap): No project config found (0.007s)
Debug (bootstrap): Loading packages from: /var/www/.wp-cli/packages/vendor/autoload.php (0.103s)
Debug (bootstrap): ABSPATH defined: /var/www/ (0.104s)
Debug (bootstrap): Begin WordPress load (0.104s)
Debug (bootstrap): wp-config.php path: /var/www/wp-config.php (0.104s)
Debug (bootstrap): Loaded WordPress (0.334s)
Debug (bootstrap): Running command: cron event run (0.334s)
Executed the cron event 'w3_pgcache_cleanup' in 0.022s.
Executed the cron event 'w3_pgcache_prime' in 2.002s.
Executed the cron event 'w3_objectcache_cleanup' in 1.673s.
Success: Executed a total of 3 cron events.

Еще больше примеров использования утилиты WP-CLI смотрите на официальном сайте проекта.

Ссылки

Источник: https://www.kobzarev.com/wordpress/debug-wordpress-cron/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: