首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python中使用Sybase模块设置超时?

如何在Python中使用Sybase模块设置超时?
EN

Stack Overflow用户
提问于 2015-04-02 00:43:37
回答 1查看 318关注 0票数 2

偶尔我会遇到一个问题,对sybase的查询需要很长时间。我想等待30秒左右,然后超时。下面是我的代码:

代码语言:javascript
运行
复制
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秒时,生成一个空的list1?

EN

回答 1

Stack Overflow用户

发布于 2015-04-02 18:45:51

我认为有两种可能性:

  1. (Harder)在服务器端配置资源限制。下面是Python的细节,2.
  2. (Easier)在单独的线程中运行1代码,并在达到30s限制后杀死它。在这里你有一个example

在您的情况下,2个选项:

代码语言:javascript
运行
复制
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!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29396308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档