WT JShopping Bitrix 24 PRO CRON
- Категории: JoomShopping, Плагины Joomla, Расширения для Joomla 4 и Joomla 5
- Версия: 1.1.1
- Дата:
Плагин для автоматического регулярного обновления цен и остатков товаров JoomShopping из CRM Битрикс 24. Рекомендуется для работы с небольшим количеством товаров.
Описание
Для интернет-магазинов, работающих со складами, важно отображать клиентам актуальные цены и количество товаров, доступных для заказа. Как правило, учёт товара производится в специализированной системе учёта. Чаще всего это реализуется за счёт обновления цен и остатков по расписанию с помощью технологии CRON. Серверный CRON позволяет выполнять скрипты обновления по заданному расписанию.
Начиная с Joomla 4.1 в ядре CMS появляется встроенный планировщик задач, которые можно запускать по CRON. Задачи, запущенные таким образом, не нагружают web-сервер и не имеют граничения на время исполнения скрипта. Функционал планировщика заданий Joomla 4.1 расширяется с помощью дополнительных плагинов.
Данный плагин представляет собой плагин задачи для Joomla 4.1 и предназначен для работы со складским учётом в CRM Битрикс 24 по API. Плагин работает только вместе с плагином WT JoomShopping Bitrix 24 PRO.
Для получения цены и остатков используются разные методы API Битрикс 24, поэтому происходит 2 запроса к API.
На практике для обновления цены и количества одного товара уходит от 0,3 до 0,65 секунды. На веб-сервере обычно стоит ограничение на время исполнения скрипта в 60 секунд.
Учитывайте это и количество Ваших товаров при выборе режима работы планировщика задач.
Учёт лимитов REST API Битрикс 24
Битрикс 24 предполагает лимит в 2 запроса в секунду при обращении к API. Если лимит превышен - запрос не выполняется, API возвращает ошибку о превышении лимита. В итоге часть товаров не получала обновленное значение цен и количества. Теперь скрипт "спит" 0,5 секунды после каждого выполненного запроса. Для обновления цены и количества требуется 2 запроса. Для каждого атрибута также требуется 2 запроса к API. Соответственно, обновление данных товара занимает теперь минимум 1 секунду, а также ещё по 1 секунде на каждый атрибут. На обновление данных 100 простых товаров потребуется около 1,7 минут.
Примерное время обновления товаров в зависимости от их количества и сложности
Тип товара | Количество товаров | Запросы к API | Время выполнения (секунды) |
---|---|---|---|
Простой товар без вариаций | 1 | 2 | 1s |
100 | 2 | 100s (~1.7min) | |
3000 | 2 | 3000s (~50min) | |
Простой товар с 1-й (основной) вариацией | 1 | 2 | 1s |
100 | 2 | 100s (~1.7min) | |
3000 | 2 | 3000s (~50min) | |
Товар с 1-й (основной) вариацией и 1 атрибутом | 1 | 4 | 2s |
100 | 4 | 200s (~3.4min) | |
3000 | 4 | 6000s (~100 min = 1h 40min) | |
Товар с 1-й (основной) вариацией и 2 атрибутами | 1 | 6 | 3s |
100 | 6 | 300s (5 min) | |
3000 | 6 | 9000s (~150 min = 2h 30min) |
Установка
Установка производится с помощью стандартного установщика расширений Joomla.
Настройка
Пройдите в меню Система - Управление - Плагины, отфильтруйте плагины по типу task
. Убедитесь, что плагин WT Joomshopping Bitrix 24 PRO CRON включён.
Пройдите в меню Система - Управление - Планировщик задач.
,
Создайте новую задачу "Обновление данных товара JoomShopping из Битрикс 24". Укажите, какие данные товара JoomShopping следует получать из Битрикс 24. Установите насколько часто следует обновлять цены и остатки.
Сохраните задачу. Вы можете запустить её вручную с помощью кнопки "выполнить" из списка задач.
Важно
Обратите внимание, что этот плагин является дополнением к плагину WT Joomshopping Bitrix 24 PRO и использует его настройки доступа к CRM. Также именно с помощью плагина WT Joomshopping Bitrix 24 PRO производится настройка сопоставления товаров JoomShopping и Битрикс 24.
В каждой карточке товара при редактировании добавляется вкладка "Bitrix 24", в которой можно настроить соответствие товаров. Без настроек сопоставлений товаров автоматическое получение цен и остатков невозможно.
Настройки планировщика задач Joomla 4.1
Планировщик Joomla 4.1 может работать в нескольких режимах:
- Задачи запускаются по ссылке. Ссылку можно получить в настройках планировщика задач.
- "Ленивый планировщик" - задачи запускаются на исполнение при активности пользователей на сайте (как на фронтенде, так и на бэкенде). Этот режим можно использовать для задач, которые не требовательны к ресурсам сервера и не занимают много времени.
- Запуск выполнения задач планировщика с помощью Joomla 4 CLI. Рекомендуемый вариант.
Запуск заданий планировщика Joomla 4 с помощью CRON и CLI-скрипта
В данном режиме запуск и выполнение заданий не использует ресурсы веб-сервера, поэтому насколько бы не была продолжительная и объёмная задача - сайт продолжит нормально работать для посетителей. В остальных случаях выполнение "тяжелых" задач может приводить к "тормозам" на сайте.
Чтобы запустить планировщик задач с помощью CLI Вам нужно подключиться к своему серверу по SSH и выполнить команду:
php /path/to/site/public_html/cli/joomla.php scheduler:run
Для добавления задания в серверный CRON выполните команду
crontab -e
В октрывшемся консольном редакторе добавьте строку
* * * * * php /path/to/site/public_html/cli/joomla.php scheduler:run
Пять звёздочек означают ежеминутное обращение к файлу joomla.php
, с помощью которого запускаются CLI-скрипты Joomla. Команда scheduler:run
позволяет запускать задания планировщика из админки Joomla 4. Таким образом Вы настраиваете серверный CRON один раз, а дальше все задания настраиваете из админки Вашего сайта на Joomla 4.
Серверный CRON обращается к файлу раз в минуту. Однако, если в настройках задачи в планировщике заданий Joomla стоит выполнение задачи раз в сутки или раз в несколько часов, то фактически задача будет выполняться согласно настройкам Joomla.
Частота запуска серверного CRON должна устанавливаться по самой частой задаче.
Joomla
- Тип расширения:
- Плагин
- Каталог:
- Task
- Версия Joomla:
- 4.1, 4.2
Галерея
Что нового
Учёт лимитов REST API Битрикс 24
На обновление данных 100 простых товаров потребуется около 1,7 минут.