标签: timeout

python中子进程读取线上的超时

我有一个小问题,我不太确定如何解决.这是一个最小的例子:

是)我有的

scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while(some_criterium):
    line = scan_process.stdout.readline()
    some_criterium = do_something(line)
Run Code Online (Sandbox Code Playgroud)

我想要什么

scan_process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while(some_criterium):
    line = scan_process.stdout.readline()
    if nothing_happens_after_10s:
        break
    else:
        some_criterium = do_something(line)
Run Code Online (Sandbox Code Playgroud)

我从子进程读取一行并用它做一些事情.我想要的是在固定时间间隔后没有线路到达时退出.有什么建议?

python subprocess timeout

39
推荐指数
5
解决办法
3万
查看次数

如何自动关闭PostgreSQL中的空闲连接?

有些客户端连接到我们的postgresql数据库,但保持连接打开.是否有可能告诉Postgresql在一定量的不活动后关闭这些连接?

TL; DR

如果您使用的是Postgresql版本> = 9.2
那么请使用我提出的解决方案

如果您不想编写任何代码,
那么使用arqnid的解决方案

postgresql connection timeout

39
推荐指数
5
解决办法
6万
查看次数

如何设置Selenium Python WebDriver默认超时?

试图找到一种在Selenium Python WebDriver中设置命令执行延迟的最大时间限制的好方法.理想情况下,例如:

my_driver = get_my_driver()
my_driver.set_timeout(30) # seconds
my_driver.get('http://www.example.com') # stops / throws exception when time is over 30     seconds
Run Code Online (Sandbox Code Playgroud)

会工作.我发现了.implicitly_wait(30),但我不确定它是否会导致所需的行为.

如果它有用,我们专门使用WebDriver for Firefox.

编辑

根据@ amey的回答,这可能有用:

ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
Run Code Online (Sandbox Code Playgroud)

但是,我不清楚隐式等待是否适用于get(这是所需的功能)和find_element_by_id.

非常感谢!

python firefox selenium timeout selenium-webdriver

39
推荐指数
4
解决办法
5万
查看次数

终止空闲的mysql连接

我看到很多连接都是开放的,并且长时间闲置,比如5分钟.

是否有任何解决方案从服务器终止/关闭它而不重新启动mysql服务?

我正在维护一个遗留的PHP系统,无法关闭为执行查询而建立的连接.

我应该减少my.cnf文件中的超时值,默认为8小时吗?

# default 28800 seconds

interactive_timeout=60
wait_timeout=60
Run Code Online (Sandbox Code Playgroud)

mysql timeout kill wait python-idle

38
推荐指数
1
解决办法
11万
查看次数

Python套接字接收 - 传入的数据包总是有不同的大小

我正在使用SocketServer模块作为TCP服务器.我在这里遇到了一些问题recv(),因为传入的数据包总是有不同的大小,所以如果我指定recv(1024)(我尝试使用更大的值,更小),它会在2或3个请求后被卡住,因为数据包长度将会更小(我认为),然后服务器卡住,直到超时.

class Test(SocketServer.BaseRequestHandler):

def handle(self):

   print "From:", self.client_address

   while True:    

     data = self.request.recv(1024)
     if not data: break

     if data[4] == "\x20":              
       self.request.sendall("hello")
     if data[4] == "\x21":
       self.request.sendall("bye")
     else:
       print "unknow packet"
   self.request.close()
   print "Disconnected", self.client_address

launch = SocketServer.ThreadingTCPServer(('', int(sys.argv[1])),Test)

launch.allow_reuse_address= True;

launch.serve_forever()
Run Code Online (Sandbox Code Playgroud)

如果客户端通过相同的源端口发送多个请求,但服务器卡住,任何帮助将非常感谢,谢谢!

python networking timeout recv

37
推荐指数
3
解决办法
11万
查看次数

Android - 密钥调度超时

在我的Android应用程序中,我遇到了一个非常奇怪的崩溃,当我在我的UI上按下一个按钮(图像)时,整个应用程序冻结,几秒钟后我就会出现可怕的强制关闭对话框.

以下是在日志中打印的内容:


WARN/WindowManager(88): Key dispatching timed out sending to package name/Activity
WARN/WindowManager(88): Dispatch state: {{KeyEvent{action=1 code=5 repeat=0 meta=0 scancode=231 mFlags=8} to Window{432bafa0 com.android.launcher/com.android.launcher.Launcher paused=false} @ 1281611789339 lw=Window{432bafa0 com.android.launcher/com.android.launcher.Launcher paused=false} lb=android.os.BinderProxy@431ee8e8 fin=false gfw=true ed=true tts=0 wf=false fp=false mcf=Window{4335fc58 package name/Activity paused=false}}}
WARN/WindowManager(88): Current state:  {{null to Window{4335fc58 package name/Activity paused=false} @ 1281611821193 lw=Window{4335fc58 package name/Activity paused=false} lb=android.os.BinderProxy@434c9bd0 fin=false gfw=true ed=true tts=0 wf=false fp=false mcf=Window{4335fc58 package name/Activity paused=false}}}
INFO/ActivityManager(88): ANR in process: package name (last in package name)
INFO/ActivityManager(88): Annotation: keyDispatchingTimedOut
INFO/ActivityManager(88): …
Run Code Online (Sandbox Code Playgroud)

android timeout key freeze dispatch

37
推荐指数
2
解决办法
5万
查看次数

如何在Ruby中的RestClient gem中设置超时?

我通过它来调用服务器来使用RestClient gem.问题是如何从客户端设置超时.

RestClient.get "http://127.0.0.1:7819/tokenize/word/stackoverflow"
Run Code Online (Sandbox Code Playgroud)

我想把它设置为10秒.

提前致谢!!

ruby timeout rest-client

37
推荐指数
1
解决办法
2万
查看次数

Laravel队列进程超时错误

我在Laravel上php artisan queue:listen用来运行排队的工作.其中一个工作相当复杂,需要很长时间,因此我收到以下错误:

[Symfony\Component\Process\Exception\ProcessTimedOutException]                                                                                                                                                                              
The process ""/usr/local/Cellar/php55/5.5.14/bin/php" artisan queue:work  
--queue="QUEUE_URL" --delay=0 --memory=128 --sleep=3 --tries=0" 
exceeded the timeout of 60 seconds.
Run Code Online (Sandbox Code Playgroud)

我知道我可以运行queue:listen一个任意高的超时值,但是这不是理想的,因为我希望它的活动时间,一些过程实际上 unreseponsive.我尝试set_time_limit(60)在作业调用的函数内定期调用,但这并没有解决我的问题.

我找到了一个在线提及的线程Symfony\Component\Process\Process->setTimeout(null),但我不知道如何访问该进程对象,或者如果这甚至可以解决问题.

任何帮助将非常感激.

php queue timeout symfony laravel

37
推荐指数
2
解决办法
3万
查看次数

Selenium WebDriver - 如何使用C#设置页面加载超时

我正在使用Selenium 2.20 WebDriver使用C#创建和管理firefox浏览器.要访问页面,我使用以下代码,在访问URL之前设置驱动程序超时:

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); // Set implicit wait timeouts to 5 secs
driver.Manage().Timeouts().SetScriptTimeout(new TimeSpan(0, 0, 0, 5));  // Set script timeouts to 5 secs
driver.Navigate().GoToUrl(myUrl);   // Goto page url
Run Code Online (Sandbox Code Playgroud)

问题是有时页面需要永远加载,并且看起来使用selenium WebDriver加载页面的默认超时是30秒,这太长了.我不相信我设置的超时适用于使用GoToUrl()方法加载页面.

所以我试图弄清楚如何设置页面加载的超时,但是,我找不到任何实际工作的属性或方法.当我单击一个元素时,默认的30秒超时似乎也适用.

有没有办法将页面加载超时设置为特定值,以便当我调用GoToUrl()方法时,它只会等待我指定的时间才能继续?

c# selenium timeout webdriver wait

36
推荐指数
3
解决办法
7万
查看次数

取消routeChange上的AngularJS $超时

在我的应用程序的特定页面上,我想到进行服务器调用以更新设置间隔的信息.我偶然发现了一个问题.我希望在用户离开相关页面时取消我的$ timeout,以便应用程序不会尝试使用不再存在的内容.

关于如何解决这个问题的任何想法?

javascript timeout angularjs

36
推荐指数
1
解决办法
3万
查看次数