protected void afterExecute(Runnable r, Throwable t) {
super.afterExecute(r, t);
synchronized(jobRunning) {
jobRunning.remove(((JobWorker)r).jobStatus);
}
JobStatus status = ((JobWorker)r).jobStatus;
synchronized(jobHistory) {
if (!jobHistory.offer(status)) {
jobHistory.poll();
jobHistory.add(status);
}