public void doRun() throws Exception {
        if (inProgress.compareAndSet(false,true)) {
            try {
                run();
            } finally {
                inProgress.set(false);
            }
        } else {
            throw new IllegalStateException("Another run is already in progress");
        }
    }
public void doRun() throws Exception {
        if (inProgress.compareAndSet(false,true)) {
            try {
                run();
            } finally {
                inProgress.set(false);
            }
        } else {
            throw new IllegalStateException("Another run is already in progress");
        }
    }
public void doRun ( ) throws Exception { if ( inProgress . compareAndSet ( false , true ) ) { try { run ( ) ; } finally { inProgress . set ( false ) ; } } else { throw new IllegalStateException ( "Another run is already in progress" ) ; } }
Run from the web interface.

@throws Exception
Run from the web interface .