Зміна в логіці перевірки інтернет з'єднання на МА.
- учитывать задержку выполнения запроса на сервере в ограничении времени выполнения запроса
- добавить возможность изменения интервала проверки
- проинвистигейтить возможность выполнения проверки наличия интернета одиним воркером для всех вкладок браузера, а не для каждой отдельно.
- динамические интервалы проверки наличия интернета в зависимости от типа пользователя и состояния аукциона
- до начала аукциона выполнять проверку наличия интернета с интервалом 1 минута для всех пользователей
- за 1 минуту до аукциона и во врем аукциона, для бидера с интервалом 1 секунда
- за 1 минуту до аукциона и во врем аукциона, для публичного пользователя с интервалом 5 секунда
Дополнение(02.10.24)
сложно анализировать к чему относиться запрос на проверку интернет соеденения HEAD /api
так как у пользователя несколько вкладок с ауками открыто.
если нет возможности реализовать одну проверку для всех вкладок, то необходимо в запрос на проверку инет соеденения квейри параметром добавить айди аукциона
Что делаем (02.10.24)
- Веб воркер по умолчанию делает проверку наличия интернета 1 раз вв минуту.
- Добавляем в веб воркер 3 скорости проверки интернета (fast - раз секунду 1, slow - раз в 5 секунд, dafault - раз в 60 секунд). Изменение скорости проверки производиться посредством send message.
- Реализуем логику изменения скорости проверки. По умолчанию стартуем dafault, если аукцион завершон - останавливаем проверку. Если аукцион в стадии подачи ставок (начался) или до начала аукциона осталась одна минута, то для бидера устанавливаем скорость fast для публичного пользователя устанавливаем скорость slow.
- Изменяем логику параметра
timeout = 3000
запроса. Первый запрос выполняеться с дефолтным timeout в 3 секунды, для каждого последующего запроса timeout = 3 секунды + времемя выполнения предыдушего запроса. - Изменяем эндпоинты для проверки интернета, по умолчанию мы шлем HEAD запрос на https://auction.prozorro.sale/favicon.ico но каждый 5 запрос мы отправляем на https://auction.prozorro.sale/api
- Изменяем логику обработки результата запроса при возникновении ошибки. Если возникает ошибка, отправляем сразу повторный запрос чтобы убедиться что ошибка постоянна а не случайная.
- Добавить в запрос на проверку интернет соеденения квейри параметр с айди аукциона
- Добавить в запрос на проверку интернет соеденения квейри параметр со значением статуса ответа от предыдушего запроса на проверку
- иследовать возможность сипарирования ошибок запроса, (net::ERR_INTERNET_DISCONNECTED, net::ERR_NAME_NOT_RESOLVE, net::ERR_CONNECTION_REFUSED, net::ERR_CONNECTION_TIMED_OUT, net::ERR_NETWORK_CHANGED net::ERR_BLOCKED_BY_CLIENT ...) и возможность изменения логики в зависимости от них
Edited by Pavel Kuzmenko