Original title: Сonnection timeout for function does not seem to work in Python script
import fdb import timeout
HOST = ‘172.19.76.10’ DBS = [ ’test_db_1102’, ’test_db_10025’, ’test_catalog’, ] USER = ‘SYSDBA’ PASSWORD = ‘123’
def check_db(DB): print(DB) con = fdb.connect(host = HOST, database = DB, user = USER, password = PASSWORD ) cur = con.cursor() cur.execute(‘select first(1) * from objects’) print(cur.fetchall())
for DB in DBS: timeout.timeout_check(check_db(DB),5)
import multiprocessing import time
def timeout_check(func, func_timeout): p = multiprocessing.Process(target=func) p.start() p.join(func_timeout)
if p.is_alive():
print ("running... let's kill it...")
p.terminate()
p.join()