acts_as_ecv is a simple ruby gem that helps add ecv (Extended Content Verification) to Rails webapp. This functionality is necessary for production environment where your servers sit behind a load balancer, and you want the load balancer to do more than just a simple ping or tcp check to verify that the app is up and running.
It's hosted on [rubygems.org][rubygems].
sudo gem install acts_as_ecv
# Rails 2.3.x, add this to environment.rb
config.gem 'acts_as_ecv'
# Rails 3, add this to Gemfile
gem 'acts_as_ecv'
# Now, create a controller that will serve up the ecv
# For example, in ecv_controllers.rb
class EcvController < ApplicationController
acts_as_ecv :up_txt => "SYSTEM UP", :down_txt => "SYSTEM DOWN", :down_file => "file/for/marking/the/app/as/down"
end
# Now you can hit http://yourapp.com/ecv and you'll get back either "SYSTEM UP" or "SYSTEM DOWN" depending
# on whether the :down_file exists
down_file - if this file exists, the app is considered to be down (default value => public/system/down)
down_txt - determines the text that will be displayed for the ecv if the app is marked as down (default value: SYSTEM DOWN)
up_txt - determines the text that will be displayed for the ecv if the app is up (default value: SYSTEM UP)
You can now have methods in your init script to mark the app as up or down (simply by creating the "down_file" or removing it), and effectively telling the load balancer to direct traffic to your server or not.