#215 closed баг (fixed)
Проблемы с определением состояния отсутствии связи с сервером
Reported by: | san | Owned by: | dimag |
---|---|---|---|
Priority: | critical | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | connection |
Cc: | alx |
Description
- Потеря связи с сервером определяется очень долго (порядка полминуты -минуты)
- Иногда программа так и не определяет это состояние, ждал более 10 мин.
Change History (8)
comment:1 by , 8 years ago
Priority: | major → critical |
---|
comment:2 by , 8 years ago
Cc: | added |
---|
comment:3 by , 8 years ago
Клиенту хочется не более 10 секунд, в идеале несколько секунд.
А если пользователь отправляет какие-то команды на сервер желательно обнаружить ещё быстрее чтобы пользователь не увидя обратной связи на свои действия не думал что программа "зависла" (#216)
comment:4 by , 8 years ago
Для наличия видимой обратной связи не обязательно иметь соединение с сервером (или знать о его наличии). Тривиальный пример:
- пользователь нажимает кнопку;
- пользователь сразу получает обратную связь ("выполняем команду");
- идет собственно выполнение команды (возможно, длительное время);
- пользователь видит результат ("команду выполнить не удалось - такая-то ошибка").
То есть результат нажатия кнопки виден сразу, и независимо от всех прочих обстоятельств. Таким образом, приведенный в #216 пример - это скорее недостаток дизайна интерфейса, нежели проблема коннективити. Если, например, при нажатии кнопки "выкинуть пользователя из конференции" соответствующая плашка немедленно меняла бы вид (становилась другого цвета, на ней появлялась надпись "отключаем"), то у пользователя никак не могло бы возникнуть ощущение, что программа "зависла" и не реагирует.
Возвращаясь к теме этого тикета, для такого быстрого определения отсутствия связи единственное решение, которое мне видится - это активный периодический поллинг ESL какой-либо командой, типа version, uptime и т.п. Такая команда должна посылаться, если в течение заданного времени (скажем, 5 секунд) нет никаких других команд для посылки, таким образом, сокет никогда не будет простаивать дольше чем 5 секунд, и о возникновении проблемы с соединением пульт узнает быстро.
follow-up: 6 comment:5 by , 8 years ago
Keywords: | connection added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
r264
Отсуствие определяется в течение 1-5 секунд.
Повторное соединение выполняется в течение 1-2 секунд после появления связи
comment:6 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
А насколько быстро (за какое максимальное время) отсутствие связи должно определяться?