Я нашел класс Ruby Timeout очень полезным для моего проекта.
Но мне нужно запустить блок кода в фоновом режиме и сохранить его в таймауте.
Например
Timeout :: timeout (2) {block.call}
Как это сделать?
require 'timeout' t = Thread.new { Timeout.timeout(5) { while(true) do puts 'a' sleep 1 end } } t.join
Тем не менее, Timeout выдаст исключение по истечении срока, но я думаю, что вы в порядке с ним.