偶尔我会遇到一个问题,即对sybase的查询需要很长时间。我想等30秒左右,然后超时。这是我的代码:
import Sybase
db = Sybase.connect('server','name','pass','database')
c = db.cursor()
c.execute("select statement that takes a long time")
list1 = c.fetchall()
print list1
如何重写代码,以便在查询超过30秒时生成一个空列表1?
答案 0 :(得分:1)
我看到两个posibilitiues:
在您的情况下为2选项:
def func():
db = Sybase.connect('server','name','pass','database')
c = db.cursor()
c.execute("select statement that takes a long time")
list1 = c.fetchall()
print list1
A = KThread(target=func)
A.start()
time.sleep(30)
if not A.isAlive():
A.kill()
GL!