2009-08-04 13 views
5

Zastanawiam się, czy ktoś wiedział o sposobie, w jaki można zarządzać przepustowością w aplikacji szyny w pewien sposób, który nie jest zależny od serwera WWW. Na przykład każde konto ma limit przepustowości. Odliczanie ruchu związanego i odejmowanego od miesięcznego limitu?zarządzanie przepustowością z szynami?

+0

Zgaduję, że to będzie związane z analizowaniem plików dziennika, wygląda na to, że Splunk mógłby to zrobić na pewno, ale potrzebuję czegoś na budżet. Być może klejnot do analizy pliku dziennika produkcji? – bwizzy

Odpowiedz

4

Jedną z opcji byłoby dodać after_filter w environment.rb (tak, że ma ona zastosowanie do wszystkich działań) i wykonaj następujące czynności:

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 

Oczywiście wtedy musiałby before_filter który sprawdził, że użytkownik nie przepuściły przydzielonej im przepustowości, w przeciwnym razie odmówiono im dostępu.

Należy pamiętać, że zostanie to policzone tylko dla żądań trafiających na serwer szyn, żadne żądania wypełnione przez serwer zewnętrzny (np. Obrazy) nie zostaną uwzględnione.

Powiązane problemy