Ho un problema enorme: Sembra che ci siano alcuni problemi hardware sul router del server su cui gira il software python. La connessione al database ha successo solo una volta ogni tre volte. Quindi un psycopg2.connect() può richiedere fino a 5 minuti prima di ottenere un'eccezione di timeout.Timeout psycopg2 Python
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
Questo è il codice che sto usando.
# 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)
ho provato alcune aggiunte di timeout per la query, ma che non ha aiutato, in quanto la connessione non ha ottenuto stabilito a tutti.
C'è un modo, posso interrompere immediatamente il programma, quando la connessione non può essere stabilita?
Prima di commentare, anche se questo potrebbe meritare nuove domande: Nel mio caso sto ottenendo il timeout, così come questo prompt: 'È il server in esecuzione su host" xxxxxx.xxxxxx.us-west-1.rds. amazonaws.com "(xx.x.xxx.xxx) e accettando le connessioni TCP/IP sulla porta 5432?'. La risposta è sì sì a quelli. In effetti, posso effettuare la connessione in una variante del nodo di questo stesso strumento, ma non riesco a connettermi tramite la versione 'psycopg2' che ho scritto. – kuanb