Class: Webs::AliveController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
lib/controller/alive_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/controller/alive_controller.rb', line 4

def index
  # Returns a 500 before ever getting here if cannot connect to database

  # avoid cache & 304, always return 200
  response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
  response.headers["Pragma"] = "no-cache"
  response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"

  # Only force down if calling from localhost
  render( :text=>"#{Webs::APP_NAME.capitalize} OK" ) and return unless Webs.cache

  server_down = fetch_server_down
  if request.local?
    if ['1', '-1'].include?( params['forceDown'] )
      server_down = '1'
      set_server_down( server_down )
    elsif params['forceDown'] == '0'
      Webs.cache.delete(cache_key)
      server_down = nil
    end
  end
  
  if server_down
    render :text=>"Server is going down!", :status=>503 
  else
    render :text=>"#{Webs::APP_NAME.capitalize} OK"
  end
end