0

Я использую модуль exscripts, который имеет вызов conn.connect ('IP-адрес'). Он пытается открыть сеанс telnet для этого IP-адреса. Он будет генерировать ошибку после истечения времени подключения. Исключение таймаута задается где-то в коде модуля, или это будет то, что по умолчанию для telnet. (не уверен)Python, использующий попытку уменьшить время ожидания wait

Этот тайм-аут слишком длинный и замедляет сценарий, если 1 устройство недоступно. Есть ли что-то, что мы можем сделать с попыткой, кроме как здесь? Как

Try за 3 секунды: затем обработать код за исключением: печати "тайм-аут"

+0

Я не знаю 'exscripts', но ... вы можете попробовать' threading.Timer', который срабатывает через 3 секунды и закрывает соединение. – tdelaney

ответ

0

Я думаю, что вы можете использовать

conn = Telnet(timeout=3) 

Я не знаю, является ли timeout в секундах. Если микросекунды, попробуйте 3000

+0

в секундах. Это сработало .. спасибо! – skd

1

Мы изменили API. Майк Пеннингтон недавно представил новый connect_timeout parameter для этого конкретного варианта использования.

Новое решение (текущий мастер, последний выпуск на PyPi 2.1.451):

conn = Telnet(connect_timeout=3) 

Мы изменили API, потому что вы обычно не хотите ждать, пока недоступных устройств, но хотите ждать команд в (некоторые занимают немного больше времени).