тайм-аут запроса sql golang - PullRequest
       0

тайм-аут запроса sql golang

0 голосов
/ 08 февраля 2019

Я хочу вернуться, когда запрос не возвращается в СУБД к брандмауэру.

Сначала я задаю код

c, err := sql.Open("mysql",dbid+":"+dbps+"@tcp("+dbip[0]+":"+dbpt+")/"+dbnm+"?timeout=5s")

, но не делаю этого.

Во-вторых, я использовал функцию в пакете контекста.

 ctx, cancel := content.WithTimeout(context.Background(), time.Second * 10)
 ret, err := db.QueryContext(ctx, "Select * from aaaa")

Он перехватил тайм-аут через 10 секунд, но оценил сообщение об ошибке

"нет маршрута к хосту"

Я пытаюсь выполнить запрос еще раз.

Как кодировать оценку времени ожидания при отправке запросов на чтение и запись?

1 Ответ

0 голосов
/ 09 февраля 2019

Я очень сомневаюсь, что брандмауэр блокирует маршрут к базе данных .Тайм-аут очевиден, поскольку сам хост недоступен.Оценка в течение 10 секунд основана на таймере, который вы написали, и вы не получаете Timeout в качестве оцененной ошибки, поскольку брандмауэр блокирует ваш DBHost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...