У меня огромная проблема: на маршрутизаторе сервера, похоже, возникают некоторые проблемы с оборудованием, на котором работает мое программное обеспечение python. Соединение с базой данных выполняется только каждый раз в третий раз. Таким образом, psycopg2.connect() может занять до 5 минут, прежде чем я получу исключение тайм-аута.
2014-12-23 15:03:12,461 - ERROR - could not connect to server: Connection timed out
Is the server running on host "172.20.19.1" and accepting
Это код, который я использую.
# Connection to the DB
try:
db = psycopg2.connect(host=dhost, database=ddatabase,
user=duser, password=dpassword)
cursor = db.cursor(cursor_factory=psycopg2.extras.DictCursor)
except psycopg2.DatabaseError, err:
print(str(err))
logging.error(str(err))
logging.info('program terminated')
sys.exit(1)
Я попробовал несколько тайм-аутов для запроса, но это не помогло, так как соединение вообще не было установлено.
Есть ли способ, я могу немедленно остановить программу, когда соединение не может быть установлено?