1
私のアプリケーションコントローラはサードパーティのAPI(ウェブフック)からのリクエストを受け入れますが、400 RPMになるとサイトがダウンします(クライアントが多すぎます)。私はそれで何ができますか?Railsコントローラで多くのリクエストを受け入れる正しい方法は何ですか?
class CallbacksController < ApplicationController
def acceptor
if params['type'] == 'confirmation' # this type is rare. only when client switches on callback
group_setting = GroupSetting.find_by_callback_token(params[:callback_token])
if group_setting
group_setting.update_attribute(:use_callback, true)
GroupSetting.new.callback_start(group_setting.group, group_setting.user)
render text: group_setting.response_string
else
render text:'ok'
end
else
CallbackWorker.perform_async(params[:callback_token], params['type'],
params['group_id'], params['object'],
params['secret'])
render text:'ok'
end
end
end
あなたが正しいかもしれません。私の場合はPassenger + Nginxです。私は乗客が最大接続= 100の限界を持っていることを知っていますが、新しいサイト訪問者をブロックする前に、サイトは非常に遅くなります。だから私の場合に何を表示する必要がありますか? – nobilik