Handling Job Errors, Retries, and Dead Jobs