Проблема с вложенными тайм-аутами в ruby ​​по системным вызовам - PullRequest
3 голосов
/ 01 марта 2011

Я столкнулся с этой странной проблемой при работе с тайм-аутами на 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 ​​не будет работать должным образом, если он включает системные вызовы.Если это так, то любое количество вложенных тайм-аутов также не должно работать.Зачем это работает во второй тайм-аут?

1 Ответ

1 голос
/ 08 марта 2011

Возможно, вам повезет больше, если использовать комбинацию timeout и terminator для такого рода действий.

Один из известных недостатков метода timeout заключается в том, что он невсегда строго соблюдается, и многие вещи могут его заблокировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...