I have a growing list of failed ActiveStorage::AnalyzeJob jobs that have all failed with
ActiveJob::DeserializationError: Error while trying to deserialize arguments: Couldn’t find ActiveStorage::Blob with ‘id’=XXXX
After poking around a bit, I discovered that this is a documented situation and expected behavior: https://github.com/rails/rails/commit/5e2273f42ce2382023f90fe4f0fbceec5c3416d5.
However, I was looking at ActiveStorage::PurgeJob and noticed that it includes discard_on ActiveRecord::RecordNotFound.
My question is this: Is there a good reason that the AnalyzeJob doesn’t silently drop jobs that will never run even though PurgeJob does? And if there isn’t, would someone be willing to approve the feature assuming I made a PR for it?