Top.Mail.Ru
Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Конверсайт
Разработка и продвижение сайтов на 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
    • Базовый
    • Стандартный
    • Професиональный
    • Энтерпрайз
Кейсы
Блог
Контакты
Конверсайт
Услуги
  • Разработка сайтов
    Разработка сайтов
    • Одностраничные сайты
    • Корпоративные сайты
    • Интернет-магазины
    • Индивидуальный проект
    • Разработка сайта для для государственных организаций
  • 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
    +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

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

    Главная
    —
    Продукты
    —
    Интеграция
    —Интеграция с менеджером очередей
    Интеграция с менеджером очередей
    Бесплатный
    Получить консультацию
    Бесплатная установка всех модулей каталога и дополнительная гарантия 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` в корне модуля.
    Подробности
    Характеристики
    Совместимость с редакцией Битрикс
    —
    Бизнес, Малый бизнес, Первый сайт, Стандарт, Старт, Эксперт
    Адаптивный
    —
    Нет
    Композитный
    —
    Нет
    Поддержка php8
    —
    Да
    Последние обновления
    —
    06.05.2025 10:35:12
    Цена действительна только для интернет-магазина и может отличаться от цен в розничных магазинах
    Интеграция с менеджером очередей
    Бесплатный
    Получить консультацию
    Бесплатная установка всех модулей каталога и дополнительная гарантия 2 недели
    • Описание
    • Как купить
    • Оплата
    • Установка
    • Техническая поддержка

    Обеспечивает интеграцию Битрикс с брокером сообщений RabbitMQ (AMQP) либо, при его отсутствии, реализует менеджер на базе используемой продуктом СуБД.

    Разработан на основе пакета yii3 queue

    Модуль предназначен для разработчиков, никаких компонентов/шаблонов для публичной части не предполагается.

    Детали использования см. на вкладке "Установка"

    Закажите любой модуль у нас на сайте с бесплатной установкой и гарантией 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
    © 2026 Конверсайт - Разработка и продвижение сайтов на 1С-Битрикс
    Политика конфиденциальности | Публичная оферта
    0

    Корзина

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

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

    Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
    В каталог
    Мы используем файлы cookie, разработанные нашими специалистами и третьими лицами, для анализа событий на нашем веб-сайте, что позволяет нам улучшать взаимодействие с пользователями и обслуживание. Продолжая просмотр страниц нашего сайта, вы принимаете условия его использования. Более подробные сведения смотрите в нашей Политике в отношении файлов Cookie .
    Принять Отклонить