-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BE иногда долго восстанавливает соединение и пропускает все команды от админа #94
Comments
Может лучше 60 попыток с таймаутом в 1 сек? |
@ToxaBes Автор библиотеки, которую я использую, просто вызывал Connect() рекурсивно - поэтому при потере сети прога крашилась с переполнением стека. Я сначала убрал рекурсию совсем, и потому при подключении соединение могло потеряться и восстановиться только через минуту. Я хочу этого избежать, потому вернул рекурсию, но со счетчиком (надеюсь. автор примет мой пулл реквест с этим) - но если за 100 немедленных попыток соединение не восстановится, то и через секунду скорее всего не станет лучше, потому следующая проверка будет уже в течение минуты. |
Я вот о чем имел ввиду: одно соединение это несколько этапов, таких как DNS resolving, TTFB (time to first byte) и другие. В нормальном состоянии сети это занимает миллисекунды. При восстановлении соединения это может занять более нескольких секунд. Поэтому я и предложил 60 попыток с задержкой в секунду. Как раз получится 1 минута. |
@ToxaBes там код синхронный. То есть если резолвинг занимает 5 секунд, то одна попытка будет идти 5 секунд, потом снова попытка на 5 секунд и тд, пока не восстановится или не пройдет 100 попыток. Я просто почему не хочу делать интервалы - для коннекта с интервалами в течение минуты, мне надо либо фризить всю программу на минуту, либо добавлять асинхронщины\многопоточности, что займет много работы. Потому давай поглядим, как оно сейчас будет работать - если все будет ок, то так и оставлю. Будут проблемы - буду чинить. |
Понял. Если есть ожидание завершения предыдущей попытки то действительно нет смысла городить огород. |
за день ни вылетов, ни потери соединения. Закрываю тикет |
После правок будет:
The text was updated successfully, but these errors were encountered: