Сколько времени ожидания использовать в isValid()?
-
19-09-2019 - |
Вопрос
В методе из Connection сколько таймаута мне дать?:S Я понятия не имею, каким будет обычный тайм-аут, сколько времени он должен занять?:)
я не хочу действует() чтобы вернуть false, если бы он мог вернуть true, если бы у него было больше времени, но я также не хочу, чтобы это замедляло всю программу и вызывало у меня «зависания».
Если я установлю 0, означает ли это, что мне не нужен тайм-аут, он будет пытаться столько, сколько потребуется?
Спасибо!
Решение
Это зависит от многих вещей.Как правило, я предполагаю, что время, необходимое для выполнения isValid, примерно такое же, как и для простого запроса.По этой причине я бы использовал максимально приемлемое для пользователя время.
Например.Если вы считаете, что пользователи вашего (скажем) веб-приложения будут ждать ответа не более 5 секунд, прежде чем сдаться, вы можете использовать это значение для isValid.Потому что нет смысла объявлять соединение валидным, если для достижения базы данных требуется, скажем, 50 секунд.
Другие советы
Я понятия не имею, какой будет обычный тайм -аут, сколько времени это нужно?
Затем занесите таймаут в конфигурацию программы (что бы это ни было).Возможно, зарегистрируйте события, когда происходит тайм-аут, и со временем получите некоторый опыт того, что такое обычный тайм-аут.
...Но также я не хочу, чтобы она замедлила всю программу, и дал мне "замораживание"
Это интерактивная программа для конечных пользователей, тогда подумайте, сколько времени она будет ждать, не нервничая.Для меня 2-3 секунды — это нормально, в зависимости от того, что программа делает для меня.
Это фоновая серверная программа, подумайте, что может случиться, если соединение задержится (переподключение к сети и т. д.).Фоновая программа может ждать дольше.