Время для прочтения: 1 мин. 15 сек.

Отладка 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 смотрите на официальном сайте проекта.

Ссылки

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.