Следующий код, который у меня есть, выполняется на сервере, где Java-клиент выполняет его, просто вызывая команду «py scriptname.py».Существует очень специфический сценарий использования этого сценария, который вызывает отладку головной боли.
Этот сценарий отлично работает в любое другое время, за исключением раннего понедельника, когда он запускался в первый раз.Мое основное подозрение заключается в том, что база данных, в которой они выполняются, как-то «спит» после выходных, и это вызывает сбой.Если этот код запускается через минуту вручную, просто выполняя ту же команду «py scriptname.py», то все работает нормально.
Однако это заставляет меня поверить, что в коде есть фундаментальная проблема.Код, вызывающий ошибку:
for row in self.cursorLocal.fetchall():
sqlName = "INSERT INTO TABLE ATTRIBUTE1, ATTRIBUTE2 VALUES('{}','{}')".format(row[1],row[2])
print(sqlName) # <-- line 321
self.cursorName.execute(sqlName)
self.conName.commit()
Исключение: [Errno 32] Сломанный канал
Traceback:
Traceback (most recent call last): File "C:\folder\scriptname.py", line 88, in __init__ self.InsertTo() File "C:\folder\scriptname.py", line 321, in InsertTo print(sqlName) BrokenPipeError: [Errno 32] Broken pipe
Я пробовал множество различных сценариев, пытаясь повторить это в моей локальной среде., но без удачи.Однако эта же ошибка постоянно происходит каждое утро понедельника.Меня также смущает, почему из-за оператора печати выдается ошибка.