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) по запросу