Я хотел бы поместить кнопку в графический интерфейс, если программное обеспечение подключается к определенной Postgre-DB. Я написал небольшую тестовую функцию: если она может подключиться к БД, она возвращает True, если не возвращает False.Тестирование подключения Postgres-DB
Код работает, но есть проблема: если нет связи (я просто вытаскиваю интернет-кабель, ничего другого не меняется), просто занимает слишком много времени. Не могли бы вы помочь мне сделать код быстрее, если нет связи?
Вот мой простой тест-функция:
import psycopg2
def postgres_test():
try:
conn = psycopg2.connect("dbname='mydb' user='myuser' host='my_ip' password='mypassword'")
conn.close()
return True
except:
return False
Если тайм-аут является возможной причиной отсутствия связи, я боюсь, что вы не можете сделать лучше, вы должны ждать, пока таймаут не закончится. –
Похоже, вы можете передать время ожидания в секундах до вашего вызова 'connect()', как описано здесь https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS. Будет ли это соответствовать тому, что вы ищете? – user2027202827