From: Tom Hughes Date: Mon, 19 Jul 2010 17:15:40 +0000 (+0100) Subject: Don't put MemoryLimit class in the OSM module as it breaks autoloading X-Git-Tag: live~6297^2~14 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/723cb57e6dfac1d5d3255843b384bf5905f8098f?ds=sidebyside Don't put MemoryLimit class in the OSM module as it breaks autoloading --- diff --git a/config/initializers/memory_limits.rb b/config/initializers/memory_limits.rb index bab94b09a..6f553aff6 100644 --- a/config/initializers/memory_limits.rb +++ b/config/initializers/memory_limits.rb @@ -7,38 +7,36 @@ end # configured then setup some rack middleware to police the limit if APP_CONFIG.include?('soft_memory_limit') and defined?(PhusionPassenger) # Define some rack middleware to police the soft memory limit - module OSM - class MemoryLimit - def initialize(app) - @app = app - end - - def call(env) - # Process this requst - status, headers, body = @app.call(env) - - # Restart if we've hit our memory limit - if resident_size > APP_CONFIG['soft_memory_limit'] - Process.kill("USR1", 0) - end - - # Return the result of this request - [status, headers, body] + class MemoryLimit + def initialize(app) + @app = app + end + + def call(env) + # Process this requst + status, headers, body = @app.call(env) + + # Restart if we've hit our memory limit + if resident_size > APP_CONFIG['soft_memory_limit'] + Process.kill("USR1", 0) end - private - def resident_size - # Read statm to get process sizes. Format is - # Size RSS Shared Text Lib Data - fields = File.open("/proc/self/statm") do |file| - fields = file.gets.split(" ") - end - - # Return resident size in megabytes - return fields[1].to_i / 256 + + # Return the result of this request + [status, headers, body] + end + private + def resident_size + # Read statm to get process sizes. Format is + # Size RSS Shared Text Lib Data + fields = File.open("/proc/self/statm") do |file| + fields = file.gets.split(" ") end + + # Return resident size in megabytes + return fields[1].to_i / 256 end end # Install the memory limit checker - Rails.configuration.middleware.use OSM::MemoryLimit + Rails.configuration.middleware.use MemoryLimit end