【python 超时重试方法】教程文章相关的互联网学习教程文章

python socket.gethostbyaddr() – 减少超时?【代码】

socket.gethostbyname()在其参数是真实主机名时效果很好.但是当它是一个不存在的主机时,我会得到3秒的超时socket.gaierror: [Errno 11001] getaddrinfo failed我不介意异常(这是合适的),但有没有办法减少超时?解决方法:如果Python使用系统gethostbyname(),这是不可能的.我不确定你真的想要这个,因为你可以收到错误的超时. 一旦我有类似的问题,但是从C:我不得不为大量的名字调用函数,所以长时间的超时是一个真正的痛苦.一个解决方...

python – 如何在autobahn websocket超时后重新连接?【代码】

我正在使用Autobahn来连接这样的websocket.class MyComponent(ApplicationSession):@inlineCallbacksdef onJoin(self, details):print("session ready")def oncounter(*args, **args2):print("event received: args: {} args2: {}".format(args, args2))try:yield self.subscribe(oncounter, u'topic')print("subscribed to topic")except Exception as e:print("could not subscribe to topic: {0}".format(e))if __name__ == '__...

python socket.connect – >为什么会超时?【代码】

在这方面我很天真.我不确定为什么我的连接超时.提前致谢.#!/usr/bin/env python import socketdef socket_to_me():socket.setdefaulttimeout(2)s = socket.socket()s.connect(("192.168.95.148",21))ans = s.recv(1024)print(ans)此代码生成的跟踪回溯Traceback (most recent call last):File "logger.py", line 12, in <module>socket_to_me()File "/home/drew/drewPlay/python/violent/networking.py", line 7, in socket_to_mes...

python – 如何增加imaplib请求的超时?【代码】

我正在使用imaplib来查询Gmail的IMAP,但有些请求需要超过60秒才能返回.这已经完成了一项任务,所以我有10分钟的时间来完成请求,但由于urlfetch的60秒限制,我的任务失败了. 我已经尝试设置urlfetch.set_default_fetch_deadline(600),但它似乎没有做任何事情. 这是一个堆栈跟踪:The API call remote_socket.Receive() took too long to respond and was cancelled. Traceback (most recent call last):File "/base/data/home/runtime...

python – 任何concurrent.futures超时实际上有效吗?【代码】

试图以便宜的方式编写基于进程的超时(sync),如下所示:from concurrent.futures import ProcessPoolExecutordef call_with_timeout(func, *args, timeout=3):with ProcessPoolExecutor(max_workers=1) as pool:future = pool.submit(func, *args)result = future.result(timeout=timeout)但似乎传递给future.result的超时参数并不像宣传的那样真正起作用.>>> t0 = time.time() ... call_with_timeout(time.sleep, 2, timeout=3) .....

Pythonic / djangonic方式以秒为单位处理用户超时(如果需要,则为分钟)

我的案例最接近的例子是Django ajax聊天应用程序.房间需要保留活跃用户列表.除了在聊天中显示该用户列表之外,给定房间可能具有最大活动用户数;如果没有空间,则需要阻止新用户进入. 目前我有聊天客户端页面每秒通过ajax调用一个民意调查视图.轮询视图返回房间的文本.我认为民意调查也可以进行某种类型的ping操作 – 将用户添加到Room对象上的active_user M2M字段(到目前为止我已经完成了所有这些操作).我接下来需要的是在某种超时后...

Python – cql – Cassandra 1.2 – 读取时的rpc超时【代码】

我有一个使用Cassandra 1.2集群的Python应用程序.群集有7个使用虚拟节点的物理节点,1个密钥空间的复制因子为3,复制因子为1.该应用程序使用cql库连接到Cassandra并运行查询.问题是我在尝试在数据库上运行选择时开始出错,我收到此错误:Request did not complete within rpc_timeout当我检查集群的状态时,我可以看到我的一个节点的cpu使用率超过100%并检查Cassandra system.log我可以看到这种情况一直突然出现:INFO [ScheduledTask...

python函数超时情况应对总结【图】

最近处理一个线程中的函数超时问题. 函数里面有一个地方可能会卡死,我们需要去判断这个是不是卡死了,并做出相应的应对方案. 最开始想的是在函数上增加一个装饰器,使其在超时时抛出异常,然后在其他地方捕获这个异常,并处理. 查询了一些前人的方案,写出的结果有两种. 方案一:使用threading的timer定时器,代码如下: 这个程序,在很多网页上看到了,使用方式,在需要监控的函数上写@time_limit(5),即可定时5秒报错.经过测试,觉得没什么用...

Python – 使用超时加入多个线程【代码】

我有多个Process线程正在运行,我想将所有这些线程与timeout参数一起加入.我明白如果不需要超时,我可以写:for thread in threads:thread.join()我想到的一个解决方案是使用将所有线程连接在一起并尝试加入该线程的主线程.但是,我在Python中收到以下错误:AssertionError: can only join a child process我的代码如下.def join_all(threads):for thread in threads:thread.join()if __name__ == '__main__':for thread in threads:t...

python – pycorenlp:“CoreNLP请求超时.你的文件可能太长了“【代码】

我正在尝试在长文本上运行pycorenlp并获得CoreNLP请求超时.您的文档可能太长错误消息.怎么解决?有没有办法增加Stanford CoreNLP的超时时间? 我不想将文本分成较小的文本. 这是我使用的代码:''' From https://github.com/smilli/py-corenlp/blob/master/example.py ''' from pycorenlp import StanfordCoreNLP import pprintif __name__ == '__main__':nlp = StanfordCoreNLP('http://localhost:9000')fp = open("long_text.txt"...

python – 任何扩展请求超时限制的方法?【代码】

我正进入(状态[2] [CRITICAL] WORKER TIMEOUT at=error code=H12 desc=”Request timeout”method=POST dyno=web.1 connect=1ms service=30000ms我正在heroku上启动一个烧瓶网络应用程序web: gunicorn server:app --timeout 60 --worker-class gevent --log-file=-对于我是否使用sync或gevent worker, – timeout标志似乎并不重要.我有什么想法可以延长请求超时限制? 当然,我可能需要研究这种长进程的异步处理.解决方法:正如在an...

Python请求库超时,但从浏览器获取响应【代码】

我正在尝试为nba数据创建一个web scrapper.当我运行以下代码时:import requestsresponse = requests.get('https://stats.nba.com/stats/leaguedashplayerstats?College=&Conference=&Country=&DateFrom=10%2F20%2F2017&DateTo=10%2F20%2F2017&Division=&DraftPick=&DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&P...

python – 如何检测套接字断开连接? /如何在超时时调用socket.recv?【代码】

我正在使用gevent修补套接字连接到流媒体服务器,我正在使用adsl连接. 我不控制服务器,但在我的测试中,如果我停止服务器,我可以通过检查recv的结果是否为空字符串来检测断开连接,但如果我关闭我的adsl调制解调器,则recv永远不会退出.如果我只是断开我的计算机的网络电缆,它也不会返回空字符串,但是当我重新连接它时,它会返回服务器在此期间发送的所有内容,所以我猜测路由器或调制解调器正在保持连接为我打开在我的网络电缆断开连接时...

python twisted代理超时【代码】

我很擅长扭曲,我正在尝试创建一个异步客户端来获取一些URL并将结果保存到每个URL的不同文件中.当我使用有限数量的服务器运行程序时,假设10,反应器循环正确结束并且程序终止.但是当我用例如Alexa top 2500运行程序时,程序开始获取URL但是然后没有终止.我已设置超时但它不起作用,我相信必须有一些打开的套接字不会因错误或成功而触发任何回调.我的目标是,一旦程序获取了页面,或者每个连接超时已到期,程序必须终止并关闭所有活动的文件...

如何区分超时错误和Python中的其他`URLError`?【代码】

如何区分Python中的超时错误和其他URLErrors? 编辑 当我捕获URLError时,它可能是名称解析或超时暂时失败,还是其他一些错误?我怎么能告诉彼此呢?解决方法:我使用下面的选项2之类的代码……但是要获得全面的答案,请查看Michael Foord’s urllib2 page 如果你使用下面的选项1或选项2,你可以通过查看e.code或e.reason在except子句中添加尽可能多的智能和分支. 选项1:from urllib2 import Request, urlopen, URLError, HTTPError re...