Skip to content

Instantly share code, notes, and snippets.

View mutle's full-sized avatar

Mutwin Kraus mutle

View GitHub Profile
# no maint page unless migrations are required
def conditionally_enable_maintenance_page
if c.migrate?
info "~> testing necessity for migrations & maintenance page"
if `cd #{c.release_path} && bundle exec rake db:migrate:status | grep down | wc -l`.to_i > 0
info "~> migrations pending, maintenance page required"
super
else
cache_settings = YAML.load_file("#{BLOG_BASE_PATH}/config/memcached.yml")["defaults"]
config.cache_store = :mem_cache_store, cache_settings['servers'], cache_settings
config.action_controller.session = {
:memcache_server => cache_settings['servers'],
:namespace => "#{Rails.env}:session",
:expire_after => 5.days
}
config.action_controller.session_store = :mem_cache_store
set :mongrel_base_port, 5000
set :mongrel_restart_delay, 30
set :mongrel_count, 2
namespace :mongrel do
task :restart, :roles => [:app], :except => {:mongrel => false} do
(mongrel_base_port..(mongrel_base_port+mongrel_count)).to_a.each do |port|
sudo "/usr/bin/monit restart mongrel_#{monit_group}_#{port}"
sleep mongrel_restart_delay
end