наберите tcp remote_ip: 6379: соединение: тайм-аут соединения - PullRequest
0 голосов
/ 29 ноября 2018

Я использую redigo как для обычных команд, так и для подписки.Каждые несколько дней я получаю эту ошибку, которая вызывает панику.

dial tcp IP:6379: connect: connection timed out

Я предполагаю, что есть некоторая задержка или небольшое нарушение в сети, которое вызывает тайм-аут соединения.

Как я могу избежать этого?Я в порядке с программой, ожидающей несколько секунд, пока проблема не будет решена, вместо того, чтобы паниковать.

Как мне избежать этого?Должен ли я определить тайм-ауты для набора?Такие как

  • DialReadTimeout
  • DialWriteTimeout

1 Ответ

0 голосов
/ 29 ноября 2018

Используйте DialConnectTimeout , чтобы указать тайм-аут для набора номера сетевого подключения, или DialNetDial для полного контроля над набором номера сетевого подключения.

Можно установить функцию NetDial, предоставляемую приложениемтайм-ауты, попытки подключения дроссельной заслонки при сбое и т. д.

Паники, связанные с ошибкой набора, вероятно, связаны с отсутствием проверки ошибок в приложении.

DialWriteTimeout и DialReadTimeout - параметры набора для указаниявремя ожидания при записи команды в сетевое соединение и чтении ответа от сетевого соединения соответственно.Эти параметры не влияют на время ожидания при подключении.

...