メッセージを受け取り、データをサードパーティの URL に投稿するコントローラーがあります。
def create
@message = Message.new(params[:message])
if @message.valid?
post_to_server(@message)
end
end
private
def post_to_server
# Http Post to 3rd Party Url
end
メッセージは ActiveRecord オブジェクトではありません。これは、いくつかの ActiveModel 検証を備えたプレーンな Ruby オブジェクトです。
ここでの私の懸念は、サードパーティのサーバーからの応答を待っている場合、アプリケーションが遅く見える可能性があることです。ユーザーがすぐに応答を取得でき、post_to_server 部分がバックグラウンドで実行されるように、このメソッドの実行を延期する最良の方法は何でしょうか?
私は少しグーグルでこれを見つけました: https://github.com/collectiveidea/delayed_job
ただし、それには、オブジェクトがアクティブなレコード オブジェクトであり、永続化されている必要があります。これは私が必要とするものには少しやり過ぎのようです。
応答が返されるまでメソッドの実行を延期する他の方法はありますか?
ありがとう