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

77 Всего расширений
11 Категорий
318 Выпущено версий
295588 Всего скачиваний
Корзина
Корзина пуста