WT JShopping Bitrix 24 PRO CRON

WT JShopping Bitrix 24 PRO CRON

Плагин для автоматического регулярного обновления цен и остатков товаров 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 включён.

Joomla 4.1 плагины задач для планировщика заданий

Пройдите в меню Система - Управление - Планировщик задач.

,Планировщик задач в Joomla 4.1

Создайте новую задачу "Обновление данных товара JoomShopping из Битрикс 24". Укажите, какие данные товара JoomShopping следует получать из Битрикс 24. Установите насколько часто следует обновлять цены и остатки. 

Настройки плагина для обновления цен и остатков joomshopping из Битрикс 24

Сохраните задачу. Вы можете запустить её вручную с помощью кнопки "выполнить" из списка задач.

Список задач в планировщике задач Joomla 4

Важно

Обратите внимание, что этот плагин является дополнением к плагину WT Joomshopping Bitrix 24 PRO и использует его настройки доступа к CRM. Также именно с помощью плагина WT Joomshopping Bitrix 24 PRO производится настройка сопоставления товаров JoomShopping и Битрикс 24.

Настройка сопоставления товаров джумшоппинг и битрикс 24 для синхронизации

В каждой карточке товара при редактировании добавляется вкладка "Bitrix 24", в которой можно настроить соответствие товаров. Без настроек сопоставлений товаров автоматическое получение цен и остатков невозможно.

Карточка товара джумшоппинг связка товара с товарным каталогом битрикс 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

cron tab e ssh

Пять звёздочек означают ежеминутное обращение к файлу 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

Битрикс24 предполагает лимит в 2 запроса в секунду при обращении к API. Если лимит превышен - запрос не выполняется, API возвращает ошибку о превышении лимита. В итоге часть товаров не получала обновленное значение цен и количества. Теперь скрипт "спит" 0,5 секунды после каждого выполненного запроса. Для обновления цены и количества требуется 2 запроса. Для каждого атрибута также требуется 2 запроса к API. Соответственно, обновление данных товара занимает теперь минимум 1 секунду, а также ещё по 1 секунде на каждый атрибут.
На обновление данных 100 простых товаров потребуется около 1,7 минут.

Расширения Joomla WebTolk

69 Всего расширений
9 Категорий
271 Выпущено версий
236586 Всего скачиваний
Корзина
Корзина пуста