Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Конверсайт
Разработка и продвижение сайтов на 1С-Битрикс
+7 391 204-60-83
+7 391 204-60-83
E-mail
info@conversite.ru
Адрес
г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Услуги
  • Разработка сайтов
    • Одностраничные сайты
    • Корпоративные сайты
    • Интернет-магазины
    • Индивидуальный проект
    • Разработка сайта для для государственных организаций
  • SEO-продвижение сайтов
    • SEO продвижение
    • Базовая seo оптимизация
  • Настройка контекстной рекламы
    • Яндекс.Директ
  • Дополнительные услуги
    • Ускорение сайта - композитный режим 1С-Битрикс
Каталог
  • Готовые интернет-магазины
    • B2B
    • Авто
    • Бытовая техника, электроника и оборудование
    • Детские товары
    • Другое
    • Красота и здоровье
    • Мебель
    • Одежда, обувь, аксессуары
    • Подарки и сувениры
    • Продукты питания
    • Спорт, туризм, отдых
    • Строительство и ремонт
    • Товары для животных
    • Украшения, аксессуары
    • Универсальные
  • Готовые сайты
    • Landing page
    • Информационный портал
    • Каталог товаров, услуг
    • Корпоративный сайт
    • Персональный сайт
    • Универсальные
  • Для интернет-магазина
    • Другое
    • Интеграция с онлайн-кассами
    • Каталог товаров
    • Корзина, покупка
    • Курсы валют
    • Подарки, скидки
    • Работа с заказами
  • Инструменты
    • Для разработчиков
    • Контент-менеджеру
  • Интеграция
    • 1С и другие ERP
    • IP-телефония
    • SMS-шлюзы
    • Другое
    • Почтовые сервисы
    • Социальные сети
    • Торговые площадки
  • Маркетинг, реклама
    • SEO
    • Баннеры
    • Другое
    • Региональность
    • Статистика сайта
  • Мобильные приложения
  • Поддержка клиентов
    • Другое
    • Заказ звонка
    • Обратная связь
    • Онлайн-консультанты
    • Отзывы, комментарии
    • Подписки и рассылки
  • Решения для Битрикс24
    • CRM
    • Бизнес-процессы
    • Документы
    • Другое
    • Задачи
    • Импорт/экспорт
    • Инструменты
    • Сотрудники
    • Телефония
    • Чат-боты
Компания
  • Сертификаты
  • Партнеры
  • Отзывы
  • Вакансии
  • Реквизиты
  • Документы
Битрикс24
  • Битрикс24
    • Базовый
    • Стандартный
    • Професиональный
    • Энтерпрайз
Проекты
Блог
Контакты
  • Отзывы
  • Сертификаты
  • Вопрос-ответ
  • Контакты
  • ...
    +7 391 204-60-83
    +7 391 204-60-83
    E-mail
    info@conversite.ru
    Адрес
    г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
    Режим работы
    Пн. – Пт.: с 9:00 до 18:00
    Войти
    Конверсайт
    Разработка и продвижение сайтов на 1С-Битрикс
    Услуги
    • Разработка сайтов
      Разработка сайтов
      • Одностраничные сайты
      • Корпоративные сайты
      • Интернет-магазины
      • Индивидуальный проект
      • Разработка сайта для для государственных организаций
    • SEO-продвижение сайтов
      SEO-продвижение сайтов
      • SEO продвижение
      • Базовая seo оптимизация
    • Настройка контекстной рекламы
      Настройка контекстной рекламы
      • Яндекс.Директ
    • Дополнительные услуги
      • Ускорение сайта - композитный режим 1С-Битрикс
    Каталог
    • Готовые интернет-магазины
      • B2B
      • Авто
      • Бытовая техника, электроника и оборудование
      • Детские товары
      • Другое
      • Красота и здоровье
      • Мебель
      • Одежда, обувь, аксессуары
      • Подарки и сувениры
      • Продукты питания
      • Спорт, туризм, отдых
      • Строительство и ремонт
      • Товары для животных
      • Украшения, аксессуары
      • Универсальные
    • Готовые сайты
      • Landing page
      • Информационный портал
      • Каталог товаров, услуг
      • Корпоративный сайт
      • Персональный сайт
      • Универсальные
    • Для интернет-магазина
      • Другое
      • Интеграция с онлайн-кассами
      • Каталог товаров
      • Корзина, покупка
      • Курсы валют
      • Подарки, скидки
      • Работа с заказами
    • Инструменты
      • Для разработчиков
      • Контент-менеджеру
    • Интеграция
      • 1С и другие ERP
      • IP-телефония
      • SMS-шлюзы
      • Другое
      • Почтовые сервисы
      • Социальные сети
      • Торговые площадки
    • Маркетинг, реклама
      • SEO
      • Баннеры
      • Другое
      • Региональность
      • Статистика сайта
    • Мобильные приложения
    • Поддержка клиентов
      • Другое
      • Заказ звонка
      • Обратная связь
      • Онлайн-консультанты
      • Отзывы, комментарии
      • Подписки и рассылки
    • Решения для Битрикс24
      • CRM
      • Бизнес-процессы
      • Документы
      • Другое
      • Задачи
      • Импорт/экспорт
      • Инструменты
      • Сотрудники
      • Телефония
      • Чат-боты
    Компания
    • Сертификаты
    • Партнеры
    • Отзывы
    • Вакансии
    • Реквизиты
    • Документы
    Битрикс24
    • Битрикс24
      • Базовый
      • Стандартный
      • Професиональный
      • Энтерпрайз
    Проекты
    Блог
    Контакты
      Конверсайт
      +7 391 204-60-83
      +7 391 204-60-83
      E-mail
      info@conversite.ru
      Адрес
      г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Войти
      Конверсайт
      Телефоны
      +7 391 204-60-83
      E-mail
      info@conversite.ru
      Адрес
      г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Конверсайт
      • Услуги
        • Услуги
        • Разработка сайтов
          • Разработка сайтов
          • Одностраничные сайты
          • Корпоративные сайты
          • Интернет-магазины
          • Индивидуальный проект
          • Разработка сайта для для государственных организаций
        • SEO-продвижение сайтов
          • SEO-продвижение сайтов
          • SEO продвижение
          • Базовая seo оптимизация
        • Настройка контекстной рекламы
          • Настройка контекстной рекламы
          • Яндекс.Директ
        • Дополнительные услуги
          • Дополнительные услуги
          • Ускорение сайта - композитный режим 1С-Битрикс
      • Каталог
        • Каталог
        • Готовые интернет-магазины
          • Готовые интернет-магазины
          • B2B
          • Авто
          • Бытовая техника, электроника и оборудование
          • Детские товары
          • Другое
          • Красота и здоровье
          • Мебель
          • Одежда, обувь, аксессуары
          • Подарки и сувениры
          • Продукты питания
          • Спорт, туризм, отдых
          • Строительство и ремонт
          • Товары для животных
          • Украшения, аксессуары
          • Универсальные
        • Готовые сайты
          • Готовые сайты
          • Landing page
          • Информационный портал
          • Каталог товаров, услуг
          • Корпоративный сайт
          • Персональный сайт
          • Универсальные
        • Для интернет-магазина
          • Для интернет-магазина
          • Другое
          • Интеграция с онлайн-кассами
          • Каталог товаров
          • Корзина, покупка
          • Курсы валют
          • Подарки, скидки
          • Работа с заказами
        • Инструменты
          • Инструменты
          • Для разработчиков
          • Контент-менеджеру
        • Интеграция
          • Интеграция
          • 1С и другие ERP
          • IP-телефония
          • SMS-шлюзы
          • Другое
          • Почтовые сервисы
          • Социальные сети
          • Торговые площадки
        • Маркетинг, реклама
          • Маркетинг, реклама
          • SEO
          • Баннеры
          • Другое
          • Региональность
          • Статистика сайта
        • Мобильные приложения
        • Поддержка клиентов
          • Поддержка клиентов
          • Другое
          • Заказ звонка
          • Обратная связь
          • Онлайн-консультанты
          • Отзывы, комментарии
          • Подписки и рассылки
        • Решения для Битрикс24
          • Решения для Битрикс24
          • CRM
          • Бизнес-процессы
          • Документы
          • Другое
          • Задачи
          • Импорт/экспорт
          • Инструменты
          • Сотрудники
          • Телефония
          • Чат-боты
      • Компания
        • Компания
        • Сертификаты
        • Партнеры
        • Отзывы
        • Вакансии
        • Реквизиты
        • Документы
      • Битрикс24
        • Битрикс24
        • Битрикс24
          • Битрикс24
          • Базовый
          • Стандартный
          • Професиональный
          • Энтерпрайз
      • Проекты
      • Блог
      • Контакты
      • Кабинет
      • 0 Корзина
      • +7 391 204-60-83
        • Телефоны
        • +7 391 204-60-83
      • г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
      • info@conversite.ru
      • Пн. – Пт.: с 9:00 до 18:00

      Интеграция с менеджером очередей

      Главная
      —
      Продукты
      —
      Интеграция
      —Интеграция с менеджером очередей
      Интеграция с менеджером очередей
      0
      Получить консультацию
      Бесплатная установка всех модулей каталога и дополнительная гарантия 2 недели
      Интеграция с менеджером очередей
      Интеграция с менеджером очередей

      <p>Обеспечивает интеграцию Битрикс с брокером сообщений RabbitMQ (AMQP) либо, при его отсутствии, реализует менеджер на базе используемой продуктом СуБД.</p><p>Разработан на основе пакета yii3 queue</p><p>Модуль предназначен для разработчиков, никаких компонентов/шаблонов для публичной части не предполагается.<br /><br />Детали использования см. на вкладке "Установка"</p>

      Подробности
      Цена действительна только для интернет-магазина и может отличаться от цен в розничных магазинах
      Интеграция с менеджером очередей
      0
      Получить консультацию
      Бесплатная установка всех модулей каталога и дополнительная гарантия 2 недели
      • Описание
      • Как купить
      • Оплата
      • Установка
      • Техническая поддержка

      Решение устанавливается на любые редакции БУС:

      1. Установите модуль штатным образом. Запись сообщений
      2. По умолчанию очередь обслуживается используемой продуктом СуБД (в процессе установки модуль создает таблицу в базе данных, в которую пишутся сообщения и обрабатываются в дальнейшем)

        Для использования на базе брокера сообщений RabbitMQ необходимо внести изменение в конфигурацию приложения (файл .settings.php), добавив новое соединение в секцию `connections`.
            'rabbitmq' =>
                [
                    'className' => '\\InterMotion\\Queue\\Expansion\\Bitrix\\Main\\Data\\RabbitMQConnection',
                    'host'      => "{rabbitmq_host}",
                    'port'      => {rabbitmq_port},
                    'username'  => "{rabbitmq_username}",
                    'password'  => "{rabbitmq_password}",
                ],

      3. Обработка сообщений

        Предпочтительным является обработка сообщений, используя процесс-менеджер `supervisor`, альтернативным вариантом является использование менеджера фоновых задач - `crontab`.
      Установка супервизора
      $ sudo apt update && sudo apt install supervisor -y
      $ sudo systemctl enable --now supervisor
      $ sudo nano /etc/supervisor/conf.d/bitrix-worker.conf
      Базовая конфигурация супервизора:
      [program:bitrix-worker]
      process_name=%(program_name)s_%(process_num)02d
      command=php /var/www/site.tld/bitrix/modules/intermotion.queue/tools/console.php queue:listen
      autostart=true
      autorestart=true
      stopasgroup=true
      killasgroup=true
      numprocs=5
      redirect_stderr=true
      stdout_logfile=/var/log/bitrix-worker.log

      Параметр `numproc` отвечает за количество активных единомоментно процессов (воркеров) параллельно обрабатывающих очередь.

      применяем конфигурацию:
      $ sudo supervisorctl reread
      $ sudo supervisorctl update
      # запускаем воркер
      $ sudo supervisorctl start bitrix-worker
      для проверки статуса воркера:
      $ sudo supervisorctl status
      Установка на кронтаб
      * * * * * /usr/bin/flock -w 1 php /var/www/site.tld/bitrix/modules/intermotion.queue/tools/console.php queue:run
      `flock` необходим для того, чтобы в один момент времени был запущен ТОЛЬКО один процесс.

      Использование штатных событий

      Модуль реализует отложенное выполнения ряда штатных событий для элементов, разделов инфоблоков, товаров, их остатков и цен.

      use Bitrix\Main;
      
      // элементы инфоблоков
      iblock:OnAfterIBlockElement<Add,Update,Delete>(array $fields)
          -> intermotion.queue:onAfterIblockElement<Add,Update,Delete>(new Main\Event $e {
              parameters: [elementId: {id}, iblockId: {iblockId}]
          })
          -> intermotion.queue:onAfterIblockElementAction(Main\Event $e {
              parameters: [elementId: {id}, iblockId: {iblockId}, action: {add,update,delete}]
          })
      
      // разделы инфоблоков
      iblock:OnAfterIBlockSection<Add,Update,Delete>(array $fields)
          -> intermotion.queue:onAfterIblockSection<Add,Update,Delete>(Main\Event $e {
              parameters: [elementId: {id}, iblockId: {iblockId}]
          })
          -> intermotion.queue:onAfterIblockSectionAction(new Main\Event $e {
              parameters: [elementId: {id}, iblockId: {iblockId}, action: {add,update,delete}]
          })
      
      // товары
      catalog:Bitrix\Catalog\Model\Product::OnAfter<Add,Update,Delete>(Main\Event $e)
          -> intermotion.queue:onAfterCatalogProduct<Add,Update,Delete>(Main\Event $e {
              parameters: [productId: {id}]
          })
          -> intermotion.queue:onAfterCatalogProductAction(new Main\Event $e {
              parameters: [productId: {id}, action: {add,update,delete}]
          })
      
      // цены
      catalog:Bitrix\Catalog\Model\Price::OnAfter<Add,Update,Delete>(Main\Event $e)
          -> intermotion.queue:onAfterCatalogProductPrice<Add,Update,Delete>(Main\Event $e {
              parameters: [productPriceId: {id}]
          })
          -> intermotion.queue:onAfterCatalogProductPriceAction(new Main\Event $e {
              parameters: [productPriceId: {id}, action: {add,update,delete}]
          })
      
      // остатки
      catalog:OnStoreProduct<Add,Update,Delete>(int $id)
          -> intermotion.queue:onAfterCatalogStorePrice<Add,Update,Delete>(Main\Event $e {
              parameters: [productStoreId: {id}]
          })
          -> intermotion.queue:onAfterCatalogProductStoreAction(new Main\Event $e {
              parameters: [productStoreId: {id}, action: {add,update,delete}]
          })

      Например, при создании элемента инфоблока необходимо выполнить сложные, ресурсозатратные операции. Если подписываться на стандартные события модуля "информационные блоки", то время, которое необходимо на просчет этих операций, будет "затормаживать" систему администрирования и прочие api-вызовы, подразумевающие сохранение элементов.

      Это идеальный случай для использования "отложенных" выполнений событий.

      use Bitrix\Main;
      use Bitrix\Iblock;
      use InterMotion\Queue;
      
      // вместо
      Main\EventManager::getInstance()->addEventHandler(
          'iblock',
          'OnAfterIBlockElementAdd',
          function(array $fields): void
          {
              try
              {
                  if (!isset($fields['RESULT']) || !$fields['RESULT'])
                  {
                      throw new Main\NotSupportedException('Element not really saved');
                  }
      
                  $elementId = (int) $fields['ID'];
                  $iblockId = (int) $fields['IBLOCK_ID'];
      
                  // сложные вычисления.
              }
              catch (\Throwable $exception)
              {
              }
          }
      );
      
      // используем
      Main\EventManager::getInstance()->addEventHandler(
          Queue\Config::getModuleName(),
          'OnAfterIBlockElementAdd',
          function(Main\Event $event): Main\EventResult
          {
              try
              {
                  // обязательно необходимо проверить что элемент, соответсвующий идентификатору существует
                  $elementId = $event->getParameter('elementId');
                  $iblockId = $event->getParameter('iblockId');
      
                  // сложные вычисления.
              }
              catch (\Throwable $exception)
              {
              }
              
              return (new Main\EventResult(Main\EventResult::SUCCESS);
          }
      );

      ВАЖНО: все обработчики событий имеют равный приоритет выполнения и попадают в один общий канал (`channel`).  Поэтому, следует не допускать перекоса по времени выполнения  обработчиков. Например, есть 10 типов обработчиков, 9 из которых выполняются по 5-10  секунд, а 10-ый требует для выполнения одну минуту. Таким образом, в  перспективе, 9 обработчиков будут ждать когда выполнится 10-ый. При условии, что событий очень много, может возникнуть ситуация, когда  все время выполняются только 10-ые обработчики, а до первых 9 очередь  просто не дойдет.

      Решить данную проблему можно либо,

      • увеличением количества процессов (см `supervisor`, параметр `numprocs`;
      • созданием своих собственных событий, которые будут отправлять  сообщения в отдельный канал и в последующем выделять отдельные воркеры  на обработку только этого канала
      Создание собственных заданий

      Если предоставляемых модулем событий недостаточно для  реализации необходимого функционала, есть возможность создавать свои  собственные.

      Для этого необходимо:

      • создать задачу (унаследоваться от абстрактного класса `InterMotion\Queue\Job\Base`)
      • зарегистрировать задание на событии `registerJob`

      Рабочий пример задания - `lib/job/example.php`

      namespace InterMotion\Queue\Job;
      
      use Psr;
      use YiiSoft\Queue as YiiQueue;
      
      
      // описание класса задания
      class Example extends Base
      {
          /**
           * @return string
           */
          public function getChannel(): string
          {
              // в какой канал публикуем сообщение
              return 'default';
          }
      
          /**
           * @return string
           */
          public function getJobId(): string
          {
              // внутренний идентификатор задания, для того, чтобы при чтении сообщений из канала можно было идентифицировать обработчик
              // УНИКАЛЕН для каждого типа задания !!
              return 'intermotion-queue-job-example';
          }
      
          /**
           * @param YiiQueue\Message\MessageInterface $message
           * @return void
           * @throws \Exception
           */
          public function execute(YiiQueue\Message\MessageInterface $message): void
          {
              $logger = $this->getLogger();
      
              try
              {
                  $logger->info('job started', [
                      'data' => $message->getData(),
                      'metadata' => $message->getMetadata(),
                      'handlerName' => $message->getHandlerName()
                  ]);
      
                  // do nothing
                  // выполнение самой задачи
      
                  $logger->info('job complete');
      
              }
              catch (\Exception $exception)
              {
                  $logger->error(
                      $exception->getMessage(),
                      [
                          'trace' => $exception->getTrace()
                      ]
                  );
      
                  throw $exception;
              }
          }
      }
      
      // регистрируем задание
      Main\EventManager::getInstance()->addEventHandler(
          Queue\Config::getModuleName(),
          'registerJob',
          function(Main\Event $event): Main\EventResult {
              return (new Main\EventResult(Main\EventResult::SUCCESS, [
                  'JOBS' => [
                      // класс задания, можно зарегистрировать сразу несколько
                      [ 'CLASS' => Queue\Job\Example::class ],
                  ]
              ]));
          }
      );

      Консольные команды

      Решение поддерживает консольные команды `Symfony Console`:

      1. Обработка всех существующих сообщений в определенных каналах. Завершается, когда заканчиваются сообщения.

      Используется для разработки / отладки / запуске на менеджере запуска заданий `crontab`

      php bitrix/modules/intermotion.queue/tools/console.php queue:run [channel1 [channel2 [...]]] --maximum 100

      Аргументы и опции:

      • channel - перечень каналов, сообщения из которых необходимо извлечь. По умолчанию - из всех каналов
      • maximum - максимальное количество для обработки В КАЖДОМ канале. По умолчанию 0 - все сообщений
      2. Процесс прослушивания сообщений в определенных каналах и их  выполнение когда они добавляются. Необходимо останавливать процесс  "вручную"

      Используется для процесс-менеджера `supervisor`

      php bitrix/modules/intermotion.queue/tools/console.php queue:listen [channel1 [channel2 [...]]]

      Аргументы:

      • channel - перечень каналов, сообщения в которых необходимо слушать. По умолчанию - из всех каналов
      Логгирование

      По умолчанию создается лог-файл `queue.log` в корне модуля.

      Закажите любой модуль у нас на сайте с бесплатной установкой и гарантией 14 дней

      Мы работаем с физическими и юридическими лицами. И предоставляем сразу два варианта оплаты.

      • Наличные. Вы подписываете товаросопроводительные документы, расплачиваетесь денежными средствами, получаете товар и чек.
      • Безналичный расчет. Принимаем карты Visa и MasterCard. Доступен при курьерской доставке.

      Ваш заказ можем доставить собственными ресурсами, при условии вашего нахождения в городе. Либо через 4 варианта доставки:

      1. Курьерская доставка. Курьерская доставка работает с 9:00 до 19:00. Когда товар поступит на склад, курьерская служба свяжется для уточнения деталей. Специалист предложит выбрать удобное время доставки и уточнит адрес.
      2. Самовывоз из магазина. Для получения заказа обратитесь к сотруднику в кассовой зоне и назовите номер.
      3. Сотрудничаем с постаматами. Срок хранения — 3 дня.
      4. Предоставляем почтовую доставку через почту России. Когда заказ придет в отделение, на ваш адрес придет извещение о посылке. Вскрывать коробку самостоятельно вы можете только после оплаты заказа.

      Дополнительная вкладка для размещения информации о товарах, доставке или любого другого важного контента. Поможет вам ответить на интересующие покупателя вопросы и развеять его сомнения в покупке. Используйте её по своему усмотрению.

      Вы можете убрать её или вернуть обратно, изменив одну галочку в настройках компонента. Очень удобно.

      • Комментарии
      • ВКонтакте
      Загрузка комментариев...
      Назад к списку
      Подписывайтесь
      на новости и акции
      Компания
      Сертификаты
      Партнеры
      Отзывы
      Вакансии
      Реквизиты
      Документы
      Услуги
      Корпоративные сайты
      Интернет-магазины
      Лендинги
      Почему Вам стоит доверить работу именно нам

      Мы являемся партнером 1С-Битрикс и Битрикс24. И обладаем всеми необходимыми компетенциями для решения задач различной сложности.

      Профиль компании на сайтах:
      профиль Конверсайт на сайте 1С-Битрикс
      +7 391 204-60-83
      +7 391 204-60-83
      E-mail
      info@conversite.ru
      Адрес
      г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      info@conversite.ru
      г. Красноярск, ул. Ладо Кецховели 22а, офис 8-28/1
      © 2025 Конверсайт - Разработка и продвижение сайтов на 1С-Битрикс
      Политика конфиденциальности
      0

      Корзина

      Очистить корзину

      Ваша корзина пуста

      Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
      В каталог