Perform an operation in a block, raising an error if it takes longer than
sec
seconds to complete.
- sec
-
Number of seconds to wait for the block to terminate. Any number may be used, including Floats to specify fractional seconds. A value of 0 or
nil
will execute the block without any timeout. -
klass
-
Exception Class to raise if the block fails to terminate in
sec
seconds. Omitting will use the default, Timeout::Error
Returns the result of the block if the block completed
before sec
seconds, otherwise throws an exception, based on
the value of klass
.
Note that this is both a method of module Timeout, so you can include Timeout
into your classes so they have a timeout method, as well as a module
method, so you can call it directly as ::timeout.
Please login to continue.