Rack middleware for checking if app is alive or not – optionally via custom condition(s).
Installation
Add to your Gemfile:
gem 'rack-alive'
…and bundle install.
Usage
Minimal:
require 'rack/alive' use Rack::Alive
Advanced:
require 'rack/alive'
use Rack::Alive, proc {
# Test DB-connection.
db_alive =
begin
ActiveRecord::Base.connection.select_all('select 1')
true
rescue
false
end
# Check that you got all horses/unicorns in the stable...or something.
got_all_horses = ENV['HORSES_IN_THE_STABLE'].to_i == 5
db_alive && got_all_horses
}
Test
GET /alive?
Notes
This gem was developed for our own requirements at Merchii, so feel free to send pull-requests with enhancements of any kind (features, bug-fixes, documentation, tests, etc.) to make it better or useful for you as well.
License
Released under the MIT license.
Copyright © Jonas Grimfelt, Merchii