Instead of dealing with interrupted exceptions, robo runner could just provide a cancel flag that gets checked before each get().