Мы получаем тупик и теряем связь для некоторых наших работ по добыче данных. Задача состоит в том, что мы хотели бы поймать, когда модуль pythssql Python завершится сбоем из-за тупика.Как поймать тупик pymssql как исключение?
File "pymssql.pyx", line 465, in pymssql.Cursor.execute (pymssql.c:6572)
OperationalError: (1205, 'Transaction (Process ID 113) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.DB-Lib error message 20018, severity 13:\nGeneral SQL Server error: Check messages from the SQL Server\n')
Мы попытались обернуть наш оператор CURSOR.EXECUTE в try/except, но он не запускается.
try:
CURSOR.execute(query)
except (RuntimeError, TypeError, NameError):
print "RuntimeError: {0}".format(RuntimeError)
Мы видим other examples на SO людей, чей код оказывается заразительным тупики, поэтому мы не уверены, почему наши не выделяющийся.
Любые предложения, как поймать этот тупик?
Когда система выходит из строя, было бы здорово, если бы вы могли прозвучать с помощью бурной или другой тревоги, чтобы сообщить нам об этом.