#woocommerce #cron #cron-task
Вопрос:
У меня есть веб-сайт woocommerce, и я использую плагин для дропшиппинга. Поскольку я нахожусь на общем сервере, я попытался настроить задание cron, чтобы уменьшить загрузку процессора моего сайта. Я проверил плагин дропшиппинга, и у них есть 5 запланированных заданий cron, и я хотел добавить это расписание в свой набор, но я не уверен, правильно ли я это сделал.
Таким образом, в моей панели управления они имеют следующую структуру:
public_html/wp-контент/плагины/bdroppy/src/CronJob/Вакансии
В папке CronJob у них есть папка заданий и 1 файл CronJob.php. закадычная дружба
В папке «Задания» у них есть 6 php-файлов. cronjob-папка заданий
Поэтому я добавил все задачи, которые были в папке CronJob/Jobs, в свою учетную запись siteground:
php /главная страница/******/www/ *********/public_html/wp-content/plugins/bdroppy/src/CronJob/Jobs/QueueJob.php
но я получил ошибку «Не удалось открыть ошибку входного файла» для каждой задачи. Должен ли я добавить CronJob.php также к команде задания cron? Надеюсь, я все объяснил правильно и спасибо за любую помощь! 🙂
Ответ №1:
Насколько я понял, вы отключили WP-Cron
из-за соображений производительности, и вместо этого вы хотите работать wp-cron.php
непосредственно с вашего общего сервера. Запуск wp-cron.php
позаботится о выполнении любых событий, запланированных с помощью этой wp_schedule_event
функции. Включая события плагина drop shipping, который вы используете. На самом деле плагин регистрирует свои события в admin_footer
крючке. Поэтому, пока вы активировали плагин, вам больше ничего не нужно делать.
Правильной командой для задания cron (для настройки на вашем сервере) является:
php -q /home/******/www/ *********/public_html/wp-cron.php
Чтобы проверить, правильно ли запланированы события плагина ( bdroppy_queues_event
т. е. bdroppy_change_catalog_event
, bdroppy_update_catalog_event
, bdroppy_update_product_event
и bdroppy_sync_order_event
), вы можете либо использовать выделенный плагин (например, WP Crontrol), либо использовать интерфейс командной строки WP ( wp-cli
), который также должен быть доступен на вашем общем сервере.
Если вы хотите использовать wp-cli
, вам нужно:
- ssh на ваш общий сервер;
- перейдите в
public_html
каталог; - выполните эту команду:
wp cron event list
Для получения дополнительной информации о том, как использовать wp-cli
список запланированных событий cron, ознакомьтесь с его документацией.
Комментарии:
1. Привет, Диего, спасибо за твое объяснение, я ценю это. Я пытался связаться с Siteground, но они на самом деле не дают нам никакой надлежащей информации, чтобы понять, в чем была проблема или как она работает. Так что теперь я добавил то, что вы предложили, и, похоже, это работает.
2. Похоже, что Siteground позволяет вам использовать
wp-cli
задание в cron (более подробную информацию см. в этом руководстве ). Возможно, это лучший вариант, чем использоватьphp
напрямую. И не забудьте отключитьWP-Cron
в своемwp-config.php
(т. е.define('DISABLE_WP_CRON', true);
). Правильно ли сейчас выполняются события WP?