Я использовал psycopg2 в скрипте Python для подключения к базе данных Redshift, и иногда я получаю сообщение об ошибке, как показано ниже:
psycopg2.OperationalError: Ошибка SSL SYSCALL: обнаружен EOF
Эта ошибка возникала только один раз и 90% времени работы скрипта.
Я пытался применить его к блоку try и исключения, чтобы перехватить ошибку, но похоже, что перехват не сработал,Например, я пытаюсь зафиксировать ошибку, чтобы она автоматически отправляла мне электронное письмо, если это произойдет.Однако электронное письмо не было отправлено, когда произошла ошибка.Ниже приведен мой код для попытки, кроме:
try:
conn2 = psycopg2.connect(host="localhost", port = '5439',
database="testing", user="admin", password="admin")
except psycopg2.Error as e:
print ("Unable to connect!")
print (e.pgerror)
print (e.diag.message_detail)
# Call check_row_count function to check today's number of rows and send
mail to notify issue
print("Trigger send mail now")
import status_mail
print (status_mail.redshift_failed(YtdDate))
sys.exit(1)
else:
print("RedShift Database Connected")
cur2 = conn2.cursor()
rowcount = cur2.rowcount
Ошибки, которые я получил в своем журнале:
Traceback (последний вызов был последним): Файл "/ home / ec2-user /dradis / dradisetl-daily.py ", строка 579, в файле load_from_redshift_to_s3 ()" /home/ec2-user/dradis/dradisetl-daily.py ", строка 106, в разделителе load_from_redshift_to_s3 как ',';"" ".format (YtdDate, s3location)) psycopg2.OperationalError: Ошибка SSL SYSCALL: обнаружен EOF
Итак, вопрос в том, что вызывает эту ошибку и почему это не моя попытка, кроме блока, перехватывающего ее