require 'timeout'
Timeout
Timeout long-running blocks
require 'timeout'
status = Timeout::timeout(5) {
# Something that should be interrupted if it takes more than 5 seconds...
}
Timeout provides a way to auto-terminate a potentially long-running operation if it hasn’t finished in a fixed amount of time.
Previous versions didn’t use a module for namespacing, however #timeout
is provided for backwards compatibility. You should prefer Timeout.timeout instead.