void shutdown() {
        try {
            stopping.set(true);
            Thread.sleep(1000);

        } catch (final InterruptedException e) {
            LOGGER.debug(e::getMessage, e);

            // Continue to interrupt this thread.
            Thread.currentThread().interrupt();
        }
    }
Tells tasks to stop and waits for all tasks to stop before cleaning up
the executors.
stroom-job/stroom-job-impl/src/main/java/stroom/job/impl/DistributedTaskFetcher.java