void doStart() {
		if (config.hasNoMoreTestLock()) {
			return;
		}
		// Block if the count of testing exceed the limit
		if (!canExecuteMore()) {
			// LOG MORE
			List<PerfTest> currentlyRunningTests = perfTestService.getCurrentlyRunningTest();
			LOG.debug("Currently running test is {}. No more tests can not run.", currentlyRunningTests.size());
			return;
		}
		// Find out next ready perftest
		PerfTest runCandidate = getRunnablePerfTest();
		if (runCandidate == null) {
			return;
		}

		if (!isScheduledNow(runCandidate)) {
			// Test is reserved, but it isn't yet going to run test right now.
			return;
		}

		if (!hasEnoughFreeAgents(runCandidate)) {
			return;
		}

		doTest(runCandidate);
	}
Scheduled method for test execution. This method dispatches the test
candidates and run one of them. This method is responsible until a test
is executed.
ngrinder-controller/src/main/java/org/ngrinder/perftest/service/PerfTestRunnable.java