sparqlGraphLibrary/src/main/java/com/ge/research/semtk/edc/JobTracker.java
public void waitForPercentComplete(String jobId, int percentComplete, int maxWaitMsec) throws AuthorizationException, Exception {
		int totalMsec = 0;
		int sleepMsec = 0;
		
		// wait maximum of this.prop.jobMaxWatiMsec
		while (totalMsec < maxWaitMsec) {
			if (this.getJobPercentComplete(jobId) >= percentComplete) {
				return;
			}
			// wait 1/4 seconds longer each time until 3 seconds
			if (sleepMsec < 3000) {
				sleepMsec += 250;
			}
			Thread.sleep(sleepMsec);
			totalMsec += sleepMsec;
		}
		throw new Exception(String.format("Maximum wait time of %d Msec has passed without job %s reaching %d percent complete.", maxWaitMsec, jobId, percentComplete));
	}
/**
	 * Return when job with given jobId is at least percentComplete % complete
	 * @param jobId
	 * @param percentComplete
	 * @param maxWaitMsec
	 * @throws Exception if maxWaitMsec milliseconds pass without a return
	 */
Return when job with given jobId is at least percentComplete % complete
@param jobId
@param percentComplete
@param maxWaitMsec
@throws Exception if maxWaitMsec milliseconds pass without a return
Return when job with given jobId is at least percentComplete % complete @param jobId @param percentComplete @param maxWaitMsec @throws Exception if maxWaitMsec milliseconds pass without a return
public void waitForPercentComplete(String jobId, int percentComplete, int maxWaitMsec) throws AuthorizationException, Exception {
		int totalMsec = 0;
		int sleepMsec = 0;
		while (totalMsec < maxWaitMsec) {
			if (this.getJobPercentComplete(jobId) >= percentComplete) {
				return;
			}
			if (sleepMsec < 3000) {
				sleepMsec += 250;
			}
			Thread.sleep(sleepMsec);
			totalMsec += sleepMsec;
		}
		throw new Exception(String.format("Maximum wait time of %d Msec has passed without job %s reaching %d percent complete.", maxWaitMsec, jobId, percentComplete));
	}
public void waitForPercentComplete ( String jobId , int percentComplete , int maxWaitMsec ) throws AuthorizationException , Exception { int totalMsec = 0 ; int sleepMsec = 0 ; while ( totalMsec < maxWaitMsec ) { if ( this . getJobPercentComplete ( jobId ) >= percentComplete ) { return ; } if ( sleepMsec < 3000 ) { sleepMsec += 250 ; } Thread . sleep ( sleepMsec ) ; totalMsec += sleepMsec ; } throw new Exception ( String . format ( "Maximum wait time of %d Msec has passed without job %s reaching %d percent complete." , maxWaitMsec , jobId , percentComplete ) ) ; }
Return when job with given jobId is at least percentComplete % complete
 @param jobId
 @param percentComplete
 @param maxWaitMsec
 @throws Exception if maxWaitMsec milliseconds pass without a return
Return when job with given jobId is at least percentComplete % complete @param jobId @param percentComplete @param maxWaitMsec @throws Exception if maxWaitMsec milliseconds pass without a return
// wait maximum of this.prop.jobMaxWatiMsec // wait 1/4 seconds longer each time until 3 seconds