Задержка при показе окна
Задержка связана с большим потоком звонков более 6-7 тысяч в день (много звонков = много запросов). Из-за этого портал не успевает обрабатывать запросы.
  1. 1.
    Одно из решений – кэширование пользователя. Модуль при первом звонке делает один запрос к порталу о пользователях, затем хранит эту информацию в кэше в течение времени, указанном в конфиге. Это существенно сокращает число запросов. Для настройки в конфиге, в блоке “Bitrix” в поле “cache_storage_time_min” нужно указать время кэширования пользователя в минутах (рекомендуется устанавливать 30 мин.). После этого перезапустите модуль.
  2. 2.
    Также можно попробовать сократить время попытки отправки нового запроса из очереди. Для этого в конфиге, в блоке “Bitrix” в поле “execution_loop_interval_msec” необходимо указать время в миллисекундах (рекомендуется устанавливать 200 мс). Есть ограничение: 1 запрос в полсекунды (на облаке). Если пытаться заставить его выполнять больше запросов, то прилетит ошибка 503 ({"error":"QUERY_LIMIT_EXCEEDED", "error_description":"Too many requests"}) в ответ на запрос.
  3. 3.
    Еще полезно из групп пользователей для звонка сделать очередь. В случае группы звонок приходит на несколько пользователей. Это означает, что всех их нужно найти в Битриксе (либо взять из кэша), им нужно показать карточку звонка, а затем скрыть у тех, кто не ответил. Для очереди эти запросы будут идти в Битрикс только для того пользователя, у кого сейчас срабатывает звонок.
  4. 4.
    Также стоит проверить нагрузку портала и сети. Вполне возможно, что при нагрузке более 8.5 тысяч звонков в день, портал не будет справляться с обработкой звонков.
Last modified 1yr ago
Copy link