Avoid resetting 'attempts' to 1 each time we retrieve a job
Documentation suggests that the 'new' parameter should be a boolean, not an int
Return True to avoid exceptions propagating beyond the context manager
Add tests for ensuring a job can only be attempted 'max_attempts' times