Add retry_on/discard_on for better exception handling
#25991

dhh wants to merge retry-and-discard-jobs into master

We do not currently have an analysis of these two commits