Skip to content

Instantly share code, notes, and snippets.

@jmervine
Created November 15, 2012 05:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jmervine/4076773 to your computer and use it in GitHub Desktop.
Save jmervine/4076773 to your computer and use it in GitHub Desktop.
begin
require 'newrelic_rpm'
require 'new_relic/agent/instrumentation/controller_instrumentation'
NewRelic::Agent.after_fork(:force_reconnect => true)
rescue LoadError
end
require File.dirname(__FILE__) + '/config/environment'
run ActionController::Dispatcher.new
# Be sure to restart your server when you modify this file
# 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'
# Specifies gem version of Rails to use when vendor/rails is not present
require File.join(File.dirname(__FILE__), 'boot')
require 'radius'
YAML::ENGINE.yamler = 'syck' if RUBY_VERSION =~ /1.9/
if defined? NewRelic::Agent::Instrumentation::ControllerInstrumentation
require 'rack/cache'
::Rack::Cache::Context.instance_eval do
include NewRelic::Agent::Instrumentation::ControllerInstrumentation
end
::Rack::Cache::Context.class_eval do
add_transaction_tracer :call,
:class_name => '#{ActionController::Routing::Routes.recognize_path(args.last["PATH_INFO"])[:controller]}',
:name => '#{ActionController::Routing::Routes.recognize_path(args.last["PATH_INFO"])[:action]}'
end
end
Radiant::Initializer.run do |config|
# Skip frameworks you're not going to use (only works if using vendor/rails).
# To use Rails without a database, you must remove the Active Record framework
# config.frameworks -= [ :action_mailer ]
# Only load the extensions named here, in the order given. By default all
# extensions in vendor/extensions are loaded, in alphabetical order. :all
# can be used as a placeholder for all extensions not explicitly named.
config.extensions = [ :snippets, :all ]
# Unload the extensions named here.
# config.ignore_extensions []
# Your secret key for verifying cookie session data integrity.
# If you change this key, all old sessions will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
config.action_controller.session = {
:key => '_MY_APP_session',
:secret => 'MY_KEY'
}
# Comment out this line if you want to turn off all caching, or
# add options to modify the behavior. In the majority of deployment
# scenarios it is desirable to leave Radiant's cache enabled and in
# the default configuration.
#
# Additional options:
# :use_x_sendfile => true
# Turns on X-Sendfile support for Apache with mod_xsendfile or lighttpd.
# :use_x_accel_redirect => '/some/virtual/path'
# Turns on X-Accel-Redirect support for nginx. You have to provide
# a path that corresponds to a virtual location in your webserver
# configuration.
# :entitystore => "radiant:tmp/cache/entity"
# Sets the entity store type (preceding the colon) and storage
# location (following the colon, relative to Rails.root).
# We recommend you use radiant: since this will enable manual expiration.
# :metastore => "radiant:tmp/cache/meta"
# Sets the meta store type and storage location. We recommend you use
# radiant: since this will enable manual expiration and acceleration headers.
# NOTE: cache seettings have been moved to config/environment/*.rb
#
# config.middleware.use ::Radiant::Cache
# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
# (create the session table with 'rake db:sessions:create')
config.action_controller.session_store = :cookie_store
# Activate observers that should always be running
config.active_record.observers = :user_action_observer
# Make Active Record use UTC-base instead of local time
config.time_zone = 'UTC'
# Set the default field error proc
config.action_view.field_error_proc = Proc.new do |html, instance|
if html !~ /label/
%{<span class="error-with-field">#{html} <span class="error">#{[instance.error_message].flatten.first}</span></span>}
else
html
end
end
config.after_initialize do
# Add new inflection rules using the following format:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable 'config'
end
end
end
# Settings specified here will take precedence over those in config/environment.rb
# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true
# Use a different logger for distributed setups
# config.logger = SyslogLogger.new
# Full error reports are disabled and caching is on
config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Disable delivery errors if you bad email addresses should just be ignored
# config.action_mailer.raise_delivery_errors = false
# Cache your content for a longer time, the default is 5.minutes
# config.after_initialize do
# SiteController.cache_timeout = 12.hours
# end
$cache = Dalli::Client.new(["memcache1.myhost_example.com:11211", "memcache2.myhost_example.com:11211", "127.0.0.1:11211"], :compress => true)
config.middleware.use ::Radiant::Cache, :metastore => $cache, :entitystore => $cache
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment