5

我想知道是否有人知道一种方法可以在 Rails 应用程序中以某种不依赖于 Web 服务器的方式管理带宽。例如,每个帐户都有带宽限制。进出流量从每月津贴中扣除?

4

1 回答 1

4

一种选择是在 application.rb 中添加一个 after_filter(以便它适用于所有操作)并执行以下操作:

def store_bandwidth_usage
   response_size = response.body.size
   # Assuming the User model has a bandwidth_usage attribute
   @current_user.increment!(:bandwidth_usage, response_size) 
end

当然,你需要一个 before_filter 来检查用户是否没有超过他们分配的带宽,否则他们应该被拒绝访问。

请记住,这只会计算命中 Rails 服务器的请求,任何由前端服务器填充的请求(例如图像)将不包括在内。

于 2009-08-06T06:23:08.267 回答