接口请求限流
This commit is contained in:
parent
9f40886c45
commit
18a4833759
|
@ -1165,19 +1165,15 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
# 接口限流,请求量大有性能问题
|
# 接口限流,请求量大有性能问题
|
||||||
def request_limit
|
def request_limit
|
||||||
begin
|
record_count = Rails.cache.read("request/#{controller_name}/#{Time.now.strftime('%Y%m%d%H%M')}/#{request.remote_ip}")
|
||||||
record_count = Rails.cache.read("request/#{controller_name}/#{Time.now.strftime('%Y%m%d%H%M')}/#{request.remote_ip}")
|
if record_count.present?
|
||||||
if record_count.present?
|
record_count = record_count + 1
|
||||||
record_count = record_count + 1
|
else
|
||||||
else
|
record_count = 1
|
||||||
record_count = 1
|
|
||||||
end
|
|
||||||
normal_status("请求太快,请稍后再试。") if record_count > 100
|
|
||||||
|
|
||||||
Rails.cache.write("request/#{controller_name}/#{Time.now.strftime('%Y%m%d%H%M')}/#{request.remote_ip}", record_count, expires_in: 1.minute)
|
|
||||||
rescue
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
tip_exception("请求太快,请稍后再试。") if record_count > 100
|
||||||
|
|
||||||
|
Rails.cache.write("request/#{controller_name}/#{Time.now.strftime('%Y%m%d%H%M')}/#{request.remote_ip}", record_count, expires_in: 1.minute)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue