Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Python中使用Sybase模块设置超时?

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 10:45:51

我认为有两种可能性:

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
python 设置方法超时
#!/usr/bin/python #-*-coding:utf-8-*- import os,time,signal,platform,subprocess class TimeoutError(Exception): pass def run_command(cmd, timeout=60): is_linux = platform.system() == 'Linux' p = subprocess.Popen(cmd, stderr=subprocess.STD
py3study
2020/01/10
2.3K0
Python设置函数调用超时
http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html
py3study
2020/01/06
3K0
安装使用Sybase ASE 12.5
首先下载Sybase ASE 12.5的安装文件,下载地址为http://download.sybase.com/eval/ASE_1252_DE/ase1252_de_win.zip 另外还有Sybase ASE 12.5的客户端 ,当然在第一个下载地址中也包含了Sybase客户端,用户可以不用再专门下载客户端的。这次我们使用了2个VPC(Win2003的操作系统)来做该实验,1个安装运行Sybase数据库服务,另外1个远程连接管理该Sybase数据库。
深蓝studyzy
2022/06/16
3.5K0
安装使用Sybase ASE 12.5
Python设置函数调用超时,进程卡住
       最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。
py3study
2020/01/09
2.5K0
Python爬虫requests模块中如何设置代理
(一)代理基本原理        代理实际上指的就是代理服务器, 英文叫作proxy server ,它的功能是代理网络用户去取得网络信息。形象地说, 它是网络信息的中转站。在我们正常请求一个网站时, 是发送了请求给web 服务器,web 服务器把响应传回给我们。如果设置了代理服务器, 实际上就是在本机和服务器之间搭建了一个桥, 此时本机不是直接向web 服务器发起请求, 而是向代理服务器发出请求, 请求会发送给代理服务器, 然后由代理服务器再发送给web 服务器, 接着由代理服务器再把web 服务器返回的响应转发给本机。这样我们同样可以正常访问网页, 但这个过程中web 服务器识别出的真实IP 就不再是我们本机的IP 了, 就成功实现了IP 伪装, 这就是代理的基本原理。 (二)代理的作用        1、突破自身IP 访问限制, 访问一些平时不能访问的站点。        2、访问一些单位或团体内部资源: 比如使用教育网内地址段免费代理服务器, 就可以用于对教育网开放的各类FTP 下载上传, 以及各类资料查询共享等服务。        3、提高访问速度: 通常代理服务器都设置一个较大的硬盘缓冲区, 当有外界的信息通过时, 同时也将其保存到缓冲区中, 当其他用户再访问相同的信息时, 则直接由缓冲区中取屮信息传给用户, 以提高访问速度。        4、隐藏真实IP : 上网者也可以通过这种方法隐藏自己的IP , 免受攻击。对于爬虫来说, 我们用代理就是为了隐藏自身IP , 防止自身的被封锁。 (三)代理的分类        1、根据协议区分        根据代理的协议, 代理可以分为如下类别。        FTP 代理服务器:主要用于访问FTP 服务器, 一般有上传、下载以及缓存功能, 端口一般为21 、2121 等。        HTTP 代理服务器:主要用于访问网页, 一般有内容过滤和缓存功能, 端口一般为80 、8080 、3128 等。        SSL/TLS 代理:主要用于访问加密网站, 一般有SSL 或TLS加密功能( 最高支持128 位加密强度) , 端口一般为443 。        RTSP 代理:主要用于访问Real 流媒体服务器, 一般有缓存功能, 端口一般为554 。        Telnet 代理:主要用于telnet 远程控制( 黑客人侵计算机时常用于隐藏身份),端口一般为23 。        POP3/SMTP 代理:主要用于POP3/SMTP 方式收发邮件, 一般有缓存功能, 端口一般为110 / 25 。        SOCKS 代理:只是单纯传递数据包, 不关心具体协议和用法, 所以速度快很多, 一般有缓存功能, 端口一般为1080 。SOCKS 代理协议又分为SOCKS4 和SOCKS5 , 前者只支持TCP ,而后者支持TCP 和UDP , 还支持各种身份验证机制、服务器端域名解析等。简单来说,SOCKS4 能做到的SOCKS5 都可以做到, 但SOCKS5 能做到的SOCKS4 不一定能做到。 2、根据匿名程度区分        根据代理的匿名程度, 代理可以分为如下类别。        高度匿名代理: 会将数据包原封不动地转发, 在服务端看来就好像真的是一个普通客户端在访问, 而记录的IP 是代理服务器的IPO        普通匿名代理: 会在数据包上做一些改动, 服务端上有可能发现这是个代理服务器, 也有一定几率追查到客户端的真实伊代理服务器通常会加人的HITP 头有HTTP_VIA 和HTTP_X_FORWARDED FOR 。        透明代理:不但改动了数据包, 还会告诉服务器客户端的真实IPO 这种代理除了能用缓存技术提高浏览速度, 能用内容过滤提高安全性之外, 并无其他显著作用, 最常见的例子是内网中的硬件防火墙。        间谍代理:指组织或个人创建的用于记录用户传输的数据, 然后进行研究、监控等目的的代理服务器。
用户7886150
2020/12/31
1.8K0
97 - Flask中如何在Jinjia2模块中使用Python列表
如何在Jinjia2模板中使用复杂数据,如Python列表 ''' Jinjia2 ''' from flask import * app = Flask(__name__) class MyClass: def func(self): return 'myclass func' def myfunc(): return 'function' @app.route('/') def index(): mydict = {} mydict['type
ruochen
2021/06/27
3.1K0
97 - Flask中如何在Jinjia2模块中使用Python列表
recvfrom设置超时
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163438.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
1.9K0
如何在 Linux 中安装、设置和使用 SNMP?
SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。它允许网络管理员通过远程方式收集设备的运行状态、性能数据和错误信息,以便进行故障排除和网络优化。在Linux系统中,我们可以安装、设置和使用SNMP来监控和管理服务器和网络设备。本文将详细介绍在Linux中安装、设置和使用SNMP的步骤和方法。
网络技术联盟站
2023/06/25
3.2K0
如何在 Linux 中安装、设置和使用 SNMP?
如何在 Linux 中安装、设置和使用 SNMP?
在Linux系统中,我们首先需要安装SNMP软件包。具体的安装命令可能因您使用的Linux发行版而有所不同。以下是一些常见的发行版的安装命令示例:
网络技术联盟站
2023/09/06
3.3K0
如何在 Linux 中安装、设置和使用 SNMP?
shell 中给命令设置超时时间
在我们写 shell 脚本的时候,有时候想给一个命令设置一个超时时间,当命令执行了多长时间还没有执行完就强制终止;我们可以采用如下方式
张琳兮
2021/04/09
4.7K0
python操作sybase数据库
db = dbName.connect("localhost","testuser","test123","TESTDB" )
py3study
2020/01/09
1.9K0
使用timeout-decorator为python函数任务设置超时时间
在python代码的实现中,假如我们有一个需要执行时间跨度非常大的for循环,如果在中间的某处我们需要定时停止这个函数,而不停止整个程序。那么初步的就可以想到两种方案:第一种方案是我们先预估for循环或者while中的每一步所需要的运行时间,然后设定在到达某一个迭代次数之后就自动退出循环;第二种方案是,在需要设置超时任务的前方引入超时的装饰器,使得超过指定时间之后自动退出函数执行。这里我们将针对第二种方案,进行展开介绍。
DechinPhy
2021/05/21
3.3K0
Python调用系统命令设置超时时间
    python通过subprocess模块调用系统命令。实际使用中,有一次是命令进入了交互模式,结果web端直接卡死了。调用时设置一个超时时间,时间用完后自动断开。这样就避免了系统因为调用命令而僵死的问题。
py3study
2020/01/09
3K0
Python 中argparse模块的使用
如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。
用户1332428
2018/07/30
8060
Python中math模块的使用
这些函数大部分的返回结果是浮点数,在代码中,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。
Python碎片公众号
2021/02/26
1.3K0
Python中math模块的使用
如何在Vuejs中实现页面空闲超时检测
您是否需要检查用户在Vue应用程序中的不活跃状态?如果用户在一段时间内处于非活动状态,则要自动注销该用户或显示一个计时器。通常,具有机密数据的系统(如银行)通常会实现这种功能。需求是监听3秒钟的不活动状态并显示带有10秒计时器的模态提示框。如果在10秒的会话中没有任何操作,请自动注销用户。
前端知否
2020/03/23
3K0
如何在Vuejs中实现页面空闲超时检测
Python 中argparse模块的使用
如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。
致Great
2018/08/02
8610
Python中math模块的使用
这些函数大部分的返回结果是浮点数,在代码中,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。
用户7886150
2020/12/24
1.1K0
使用 curl 下载需要太长时间?试试在 cURL 中设置超时
cURL是一个出色的网络通信工具,它代表“客户端 URL”。几乎所有设备都使用地球上连接到 Internet 的 cURL,cURL 最广泛的用途是从终端中的远程服务器下载文件。
网络技术联盟站
2022/05/20
3.9K0
使用 curl 下载需要太长时间?试试在 cURL 中设置超时
http超时设置 golang
golang提供的http get、post请求是没有设置超时的,但实现生产环境一般都需要设置超时时间。 网上搜索,可以查询到通过设置http.Client中Transport的Dail函数,在自定义的Dail函数里面设置建立连接超时时长和发送接收数据超时: c := http.Client{ Transport: &http.Transport{ Dial: func(netw, addr string) (net.Conn, error) { c, err := ne
李海彬
2018/03/20
3.5K0

相似问题

如何在Windows上构建Python Sybase模块?

20

如何在libvirt中设置超时(使用Python)

32

安装python的Sybase模块

10

使用sybase在php中执行查询超时

11

如何在Python HTTPServer中设置超时

1167
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文