Reputation: 1465
I have some ruby code like this:
result1 = function_1(params)
result2 = function_2(params)
result3 = function_3(params)
But sometimes some of them can take too much time to work (this functions are depends on internet connection speed). I need to terminate execution of function if it takes more then 5 second. How I should do it with ruby-way?
Upvotes: 4
Views: 3548
Reputation: 15788
require 'timeout'
timeout_in_seconds = 20
begin
Timeout::timeout(timeout_in_seconds) do
#Do something that takes long time
end
rescue Timeout::Error
# Too slow!!
end
Upvotes: 22