Задержка при показе окна

Задержка связана с большим потоком звонков более 6-7 тысяч в день (много звонков = много запросов). Из-за этого портал не успевает обрабатывать запросы.

  1. Одно из решений – кэширование пользователя. Модуль при первом звонке делает один запрос к порталу о пользователях, затем хранит эту информацию в кэше в течение времени, указанном в конфиге. Это существенно сокращает число запросов. Для настройки в конфиге, в блоке “Bitrix” в поле “cache_storage_time_min” нужно указать время кэширования пользователя в минутах (рекомендуется устанавливать 30 мин.). После этого перезапустите модуль.

  2. Также можно попробовать сократить время попытки отправки нового запроса из очереди. Для этого в конфиге, в блоке “Bitrix” в поле “execution_loop_interval_msec” необходимо указать время в миллисекундах (рекомендуется устанавливать 200 мс). Есть ограничение: 1 запрос в полсекунды (на облаке). Если пытаться заставить его выполнять больше запросов, то прилетит ошибка 503 ({"error":"QUERY_LIMIT_EXCEEDED", "error_description":"Too many requests"}) в ответ на запрос.

  3. Еще полезно из групп пользователей для звонка сделать очередь. В случае группы звонок приходит на несколько пользователей. Это означает, что всех их нужно найти в Битриксе (либо взять из кэша), им нужно показать карточку звонка, а затем скрыть у тех, кто не ответил. Для очереди эти запросы будут идти в Битрикс только для того пользователя, у кого сейчас срабатывает звонок.

  4. Также стоит проверить нагрузку портала и сети. Вполне возможно, что при нагрузке более 8.5 тысяч звонков в день, портал не будет справляться с обработкой звонков.