Я только что создал скрипт с длинным запросом и добавил обработанный сигнал: когда я нажимаю CTRL + C , он запускает connection.close()
.
Но когда я запускаю скрипт py и нажимаю CTRL + C , он просто ждет окончания выполнения для обработки сигнала.
Есть ли способ отменить его во время работы?
def signal_term_handler(signal, frame):
connection.cancel()
sys.exit('Excution stopped manually.')
ip = IP
port = PORT
SID = SID
dsn_tns = cx_Oracle.makedsn(ip, port, SID)
connection = cx_Oracle.connect(USER, PASS, dsn_tns)
cursor = connection.cursor()
signal.signal(signal.SIGTERM, signal_term_handler)
signal.signal(signal.SIGINT, signal_term_handler)
cursor.execute(QUERY)
QUERY
- это запрос с множественным выбором, который длится около 4 минут.