2011-03-01 35 views
3

我在使用ruby(在rails)超时时遇到了这个奇怪的问题。这次出局通过系统调用在ruby中嵌套超时的问题

timeout(10) do 
//some code involving http calls that takes more than 10 seconds 
end 

不工作。但是这个超时

timeout(20) do 
timeout(10) do 
    //some code involving http calls that takes more than 10 seconds 
end 
end 

20秒后超时。如果涉及到系统调用,我会在ruby中读取该超时值将无法正常工作。如果是这种情况,那么任何数量的嵌套超时也应该不起作用。为什么这将在第二次超时工作?

btw..the联系我提前

+0

您运行的是哪个版本的ruby?并在哪个平台上? – Augusto 2011-03-01 11:28:45

+0

我们正在研究红宝石1.8.7补丁版本72和平台是Debian linux(2.6.26) – 2011-03-01 12:54:16

+0

FWIW,jruby实现了真正的线程,所以像这样的东西效果更好。 – Smar 2013-11-07 11:35:00

回答