sherlock-1.6
Previously, the anomaly task, email sender task and redis data backup task were part of a single thread. New implementation uses custom implementation of ScheduledThreadPoolExecutor to manage above tasks in separate threads running periodically. New implementation also reschedules the scheduler thread in the case of ExecutionException thrown from the task during runtime rather than dying silently. It uses default implementation of ScheduledExceptionHandler which always reschedules upon exception. One can use custom version of this ScheduledExceptionHandler interface to allow limited resubmissions of a thread.