In Ruby I would use the Timeout module, where it executes a block and will stop executing the code if it passes the timeout.
require \'timeout\'
status = Tim
There is the TimedInterrupt
annotation, but I've not tried it out yet...
Gave it a quick test, and this (poor example):
@groovy.transform.TimedInterrupt( 5L )
def loopy() {
int i = 0
try {
while( true ) {
i++
}
}
catch( e ) {
i
}
}
println loopy()
Runs in the groovy console and prints out i
after 5 seconds.
I get:
47314150