Railsでdelayed_jobsを使用して、長時間実行されるWebリクエストプロセスをオフロードし、結果を変数として保存して後でコードにアクセスできるようにする方法を学ぼうとしています. これを行う最善の方法は何ですか?
私のコントローラーコードのメソッド内で、私は以下を使用しています:
Delayed::Job.enqueue(BuildDetail.new)
次に、lib/build_detail.rb でクラスを定義します (コントローラーでファイルを必要とします)。
class BuildDetail
def perform
...
# some web request processing is here
...
# the code returns the results of the web request processing as a variable:
@newvar = ...
end
end
これが私の課題です。@newvar 値にアクセスして、別のコントローラー メソッドで使用できるようにする必要があります。@newvar 値を参照する方法が完全にはわかりません。delayed_jobs の処理はバックグラウンドで処理されるため、何らかのキャッシュ プロセスでこれを処理する必要がありますか、または変数に直接アクセスすることは可能ですか?