2011-03-01 67 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

回答