DelayedJob、Sidekiq、ActiveJobの関係性について
理解するだけなら特段難しいことはない。
Active Jobは、バックグラウンドジョブを宣言してキューイングバックエンドで実行するために設計されたRailsのフレームワークです。
メールの送信、データの処理、クリーンアップや料金の請求といった定期的なメンテナンス業務の処理などのタスクを実行するための、標準化されたインターフェイスを提供します。
Active Jobは、これらのタスクをメインアプリケーションスレッドで処理する代わりに、デフォルトのSolid Queueなどのキューイングバックエンドに処理させることで、時間のかかる操作がリクエスト・レスポンスのサイクルをブロックしないようにします。これにより、アプリケーションのパフォーマンスと応答性が向上し、タスクを並行して処理できるようになります。
記載されている通り "バックグラウンドジョブ実行のFW" が ActiveJob。
その FW に則って、キューイングやらタスク実行を行うための "バックエンド" が「Sidekiq」「DelayedJob」にあたる。
各バックエンドは ActiveJob の IF に則ったアダプターを提供することで、ActiveJob 側はバックエンドの実態を意識することなく非同期タスクを処理することができる。