Report abuse

### Usage: cap set_worker_status port=8081 balancer=mongrel_cluster status=ENABLED


### Must have balancer-manager handler enabled and curl on target.
desc "Change a given mod_proxy_balancer worker's 'status'."
task :set_worker_status, :roles => :web do
  WORKER_PORT = ENV['port']
  LBM_PORT    = ENV['lbm'] || '9090'
  BALANCER    = ENV['balancer']
  STATUS      = ENV['status']

  raise "Usage: rake #{ARGV[0]} port=MONGREL_PORT balancer=aggregator_mongrel_cluster status=ENABLE|DISABLE" unless WORKER_PORT and BALANCER and STATUS

  run "curl -s -o /dev/null http://127.0.0.1:#{LBM_PORT}/\\?b=#{BALANCER}\\&w=http://127.0.0.1:#{WORKER_PORT}\\&dw\\=#{STATUS}"
end

### Trackback: http://geminstallthat.wordpress.com/2008/08/15/disable-mongrel-mod_proxy_balancer-workers-via-capistrano/