X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1bbe59b6a77030c362f9991083aa7c06799b272d..58e50383f99691031d8f47709b5b292e7aadac46:/config/environment.rb diff --git a/config/environment.rb b/config/environment.rb index f343addf9..0d98c70bd 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,17 +1,30 @@ # Be sure to restart your web server when you modify this file. +# Limit each rails process to a 512Mb resident set size +Process.setrlimit Process::RLIMIT_AS, 640*1024*1024, Process::RLIM_INFINITY + # Uncomment below to force Rails into production mode when # you don't control web/app server and can't set it the proper way ENV['RAILS_ENV'] ||= 'production' +# Don't add asset tags +ENV["RAILS_ASSET_ID"] = '' + # Specifies gem version of Rails to use when vendor/rails is not present RAILS_GEM_VERSION = '1.2.3' # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') - -# Application constants needed for routes.rb - must go before Initializer call -API_VERSION = ENV['OSM_API_VERSION'] || '0.4' + +# Application constants needed for routes.rb - must go before Initializer call +API_VERSION = ENV['OSM_API_VERSION'] || '0.5' + +# Custom logger class to format messages sensibly +class OSMLogger < Logger + def format_message(severity, time, progname, msg) + "[%s.%06d #%d] %s\n" % [time.strftime("%Y-%m-%d %H:%M:%S"), time.usec, $$, msg.sub(/^\n+/, "")] + end +end Rails::Initializer.run do |config| # Settings in config/environments/* take precedence those specified here @@ -26,14 +39,25 @@ Rails::Initializer.run do |config| # (by default production uses :info, the others :debug) # config.log_level = :debug + # Use our custom logger + config.logger = OSMLogger.new(config.log_path) + config.logger.level = Logger.const_get(config.log_level.to_s.upcase) + # Use the database for sessions instead of the file system # (create the session table with 'rake db:sessions:create') - # config.action_controller.session_store = :active_record_store + # config.action_controller.session_store = :sql_session_store + + # Unfortunately SqlSessionStore is a plugin which has not been + # loaded yet, so we have to do things the hard way... + config.after_initialize do + ActionController::Base.session_store = :sql_session_store + SqlSessionStore.session_class = MysqlSession + end # Use SQL instead of Active Record's schema dumper when creating the test database. # This is necessary if your schema can't be completely dumped by the schema dumper, # like if you have constraints or database-specific column types - # config.active_record.schema_format = :sql + config.active_record.schema_format = :sql # Activate observers that should always be running # config.active_record.observers = :cacher, :garbage_collector @@ -53,31 +77,23 @@ end # inflect.uncountable %w( fish sheep ) # end +# Set to :readonly to put the API in read-only mode or :offline to +# take it completely offline +API_STATUS = :online + # Include your application configuration below SERVER_URL = ENV['OSM_SERVER_URL'] || 'www.openstreetmap.org' -ActionMailer::Base.server_settings = { +ActionMailer::Base.smtp_settings = { :address => "localhost", :port => 25, :domain => 'localhost', } - -# HTTP CODES - -# 200's - -HTTP_OK = 200 - -# 400's - -HTTP_PRECONDITION_FAILED = 412 -HTTP_EXPECTATION_FAILED = 417 - #Taming FCGI # COUNT = 0 -MAX_COUNT = 10 +MAX_COUNT = 10000