Q:

MongoDB― need to display status of db (running or not)

I am currently using MongoDB for tracking of various things in a Rails 2 app.  I am using the following code to see if MongoDB is up and running and, depending upon the status, displaying a link or an "Offline" message.  
This is only for admins, so it's not mission-critical, as the app will continue to run without MongoDB, but I do want to keep disabling the link in the menu when it's not running.  However, I don't like the overhead of the below code (doesn't take long to run, but hope that there is a cleaner, faster way):
  def verify_mongodb_status
    begin
      track = Track.first
      @mongodb_running = true
    rescue
      @mongodb_running = false
      logger.debug("***MongoDB not running.***")
      notify_admin_about_errors("***MongoDB is not running***)
    end
   end

EDIT: I forgot to mention that I'm already doing a before_filter for this; the method sits in application_controller.rb.

A:

I decided to go with action_caching as there doesn't seem to be a great way to do this.  The result was quite a large speed increase from ~120ms to ~16-25ms:
  def verify_mongodb_status
    begin
      track = Track.first
      @mongodb_running = true
    rescue => e
      @mongodb_running = false
      logger.debug("***MONGODB OFFLINE***: #{e}")
      notify_admin_about_errors("MongoDB", "MongoDB error:\n#{e}", nil)
      expire_action :action => :verify_mongodb_status
      return
    end
  end

I'm adding logic now to keep from getting bombarded by emails when MongoDB goes offline (1 is enough).

