управление полосой пропускания с помощью рельсов? - PullRequest
5 голосов
/ 04 августа 2009

Мне было интересно, знает ли кто-нибудь, как можно управлять пропускной способностью в приложении rails каким-либо образом, не зависящим от веб-сервера. Например, каждая учетная запись имеет ограничение пропускной способности. Входящий и исходящий трафик вычитается из ежемесячного пособия?

1 Ответ

4 голосов
/ 06 августа 2009

Один из вариантов - добавить after_filter в application.rb (чтобы он действовал для всех действий) и сделать следующее:

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, любые запросы, которые выполняются интерфейсным сервером (например, изображениями), не будут включены.

...