Don't put MemoryLimit class in the OSM module as it breaks autoloading
authorTom Hughes <tom@compton.nu>
Mon, 19 Jul 2010 17:15:40 +0000 (18:15 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 19 Jul 2010 17:15:40 +0000 (18:15 +0100)
config/initializers/memory_limits.rb

index bab94b0..6f553af 100644 (file)
@@ -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