Added support for repeating jobs and auto retrying when jobs explicitly fail (as opposed to expiring)