max Attempts
How many times the job may be started before it is given up on.
The count is JobExecution.runAttemptCount plus one, so it includes attempts that were cut short by the system as well as the ones the worker itself ended with JobResult.Retry. Once it is reached the job finishes as JobState.FAILED instead of being retried again.