Alex Villa said about 1 year ago on ActiveJob Callbacks :
Had no idea these existed. I went to look up other ActiveJob Callbacks to see the full lifecycle of jobs. I discovered that callbacks and exception-related callbacks are separated in the docs:

https://edgeapi.rubyonrails.org/classes/ActiveJob/Callbacks/ClassMethods.html

https://edgeapi.rubyonrails.org/classes/ActiveJob/Exceptions/ClassMethods.html

after_discard is a class method under exceptions whereas everything else will come up if you search callbacks.