私の知る限り、Ruby on Rails のオブザーバー パターンは非同期にはなっていません。つまり、オブザーバーの実行によって、処理中のアクションがブロックされます。
私はdelayed_job gemについて知っていて、とても気に入っていますが、特定の目的には少し重すぎるように見えることがあります。
オブザーバーのコールバックで新しいスレッドを起動するのはどうですか?
そのようなアプローチの長所と短所を見つけようとしてしばらく時間を費やしましたが、失敗しました。
問題は、Observer のスレッド化に重大な欠点があるかどうかです。