worker = nil begin reload do # 開発中に修正する可能性のあるリロードしたいクラスがこれ。 # なので、reload はこの外側である必要がある。 worker = job.constantize.new # middleware の呼び出しがここ。 # 一番外側に Retry middleware を配置したとしても、reload 自体のエラーはこの外側なので # どうしようも無い。 execute_middleware(worker, ...) do execute_job end end rescue => ex # 提案としては、こんな感じで reload よりさらに外側でリトライできるようになればいいよねってこと。 retry_failures(job_hash, worker, ex) end