mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-28 00:07:57 -05:00
health: Fail health check if specific file is present.
This lets us mark a server dead in the load balancer.
This commit is contained in:
@@ -147,7 +147,9 @@ class ErrorController(RedditController):
|
||||
return template.render(logo_url=static(g.default_header_url))
|
||||
|
||||
def send503(self):
|
||||
response.headers["Retry-After"] = str(request.environ["retry_after"])
|
||||
retry_after = request.environ.get("retry_after")
|
||||
if retry_after:
|
||||
response.headers["Retry-After"] = str(retry_after)
|
||||
return request.environ['usable_error_content']
|
||||
|
||||
def GET_document(self):
|
||||
|
||||
@@ -21,8 +21,10 @@
|
||||
###############################################################################
|
||||
|
||||
import json
|
||||
import os
|
||||
|
||||
from pylons import g, response
|
||||
from pylons import g, request, response
|
||||
from pylons.controllers.util import abort
|
||||
|
||||
from r2.controllers.reddit_base import MinimalController
|
||||
from r2.lib import promote
|
||||
@@ -39,6 +41,10 @@ class HealthController(MinimalController):
|
||||
pass
|
||||
|
||||
def GET_health(self):
|
||||
if os.path.exists("/var/opt/reddit/quiesce"):
|
||||
request.environ["usable_error_content"] = "No thanks, I'm full."
|
||||
abort(503)
|
||||
|
||||
response.content_type = "application/json"
|
||||
return json.dumps(g.versions, sort_keys=True, indent=4)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user