コントローラーに次のアクションがあります。
def ad
@koder = @side.reklamers.pluck(:id) - [session[:log]]
@reklame = Reklamer.find(@koder.sample)
session[:log] = @reklame.id
render :text => "<span class='bannerid' data-id='#{@reklame.id}'></span><p style='margin-bottom: 7px;margin-top: 7px;font-size: 9px;text-align: center !important;'>Ad</p>#{@reklame.kode}"
end
HTML 広告をレンダリングします。このコードは本当に高速です。問題は、カウントビューを例にしようとすると、応答が非常に遅くなることです。3秒。200msに比べて!
@koder = @side.reklamers.pluck(:id) - [session[:log]]
@reklame = Reklamer.find(@koder.sample)
session[:log] = @reklame.id
@reklame.views += 1
@reklame.save
render :text => "<span class='bannerid' data-id='#{@reklame.id}'></span><p style='margin-bottom: 7px;margin-top: 7px;font-size: 9px;text-align: center !important;'>Ad</p>#{@reklame.kode}"
同じ結果で resque バックグラウンド ジョブを追加しようとしました。
私は何をすべきか?