Rest Активити: Как происходит обработка запроса

Rest Активити: Как происходит обработка запроса

Дата публикации: 19 марта 2021
1) Битрикс доходит до блока RestActivity
2) Ваш Битрикс (коробочный или облачный) отправляет данные о действии специальном серверу Битрикса (Bitrix Communication Server ?уточнить название)

3) Bitrix24 Webhook Engine (Bitrix Communication Server) стучится в сервер RestActivity и сообщает что есть новое задание

выглядит в nginx

89.208.230.2 - - [09/Mar/2021:07:10:04 +0300] "POST /bp_rest/robot/get_string/ HTTP/1.1" 200 6 "-" "Bitrix24 Webhook Engine"

195.208.184.200 - - [09/Mar/2021:07:10:08 +0300] "POST /bp_rest/get_string/ HTTP/1.1" 200 6 "-" "Bitrix24 Webhook Engine"

195.208.184.200 - - [09/Mar/2021:07:10:48 +0300] "POST /bp_rest/robot/get_string/ HTTP/1.1" 200 6 "-" "Bitrix24 Webhook Engine"

4) Наш сервер кладет данные о запросе в Базу Данных и в отдельном потоке делает рест вызов к вашему Битриксу bizproc.activity.log "Запрос поставлен в очередь"

5) В зависимости от приоритета (Платный, Нормальный, Пониженный (для тех кто захламляет запросами) берутся из очереди эти запросы и начинают обрабатываться

6) В этот момент происходит до 10 (уточнить число) и до бесконечности при "списочных методах" запросов

- записи в лог bizproc.activity.log

- отладочные запросы im.notify

- сам запрос например (crm.lead.list) их может быть много в случае списочного метода

7) В когда результат от основного запроса получен, вызывается метод bizproc.event.send

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

Как улучшить: 1) убрать отладку, 2) можем убрать логирование (bizproc.activity.log) по запросу

Упростите ведение бизнеса для себя и своих сотрудников

Отправьте заявку, мы свяжемся
с вами в ближайшее время и обсудим детали вашего вопроса.

Смотрите также