def statshealth(): """ a health check on the stats pages """ from lmfdb import db if db.is_alive(): tc = app.test_client() for url in [ '/NumberField/stats', '/ModularForm/GL2/Q/holomorphic/stats', '/EllipticCurve/Q/stats', '/EllipticCurve/browse/2/', '/EllipticCurve/browse/3/', '/EllipticCurve/browse/4/', '/EllipticCurve/browse/5/', '/EllipticCurve/browse/6/', '/Genus2Curve/Q/stats', '/Belyi/stats', '/HigherGenus/C/Aut/stats', ]: try: if tc.get(url).status_code != 200: abort(503) except Exception: abort(503) else: return "LMFDB stats are healthy!" else: abort(503)
def alive(): """ a basic health check """ from lmfdb import db if db.is_alive(): return "LMFDB!" else: abort(503)
def info(): from socket import gethostname output = "" output += "HOSTNAME = %s\n\n" % gethostname() output += "# PostgreSQL info\n"; from lmfdb import db if not db.is_alive(): output += "db is offline\n" else: conn_str = "%s" % db.conn output += "Connection: %s\n" % conn_str.replace("<","").replace(">","") output += "User: %s\n" % db._user output += "Read only: %s\n" % db._read_only output += "Read and write to userdb: %s\n" % db._read_and_write_userdb output += "Read and write to knowls: %s\n" % db._read_and_write_knowls output += "\n# GIT info\n"; output += git_infos()[-1] output += "\n\n"; return output.replace("\n", "<br>")
def info(): from socket import gethostname output = "" output += "HOSTNAME = %s\n\n" % gethostname() output += "# PostgreSQL info\n" from lmfdb import db if not db.is_alive(): output += "db is offline\n" else: conn_str = "%s" % db.conn output += "Connection: %s\n" % conn_str.replace("<", "").replace( ">", "") output += "User: %s\n" % db._user output += "Read only: %s\n" % db._read_only output += "Read and write to userdb: %s\n" % db._read_and_write_userdb output += "Read and write to knowls: %s\n" % db._read_and_write_knowls output += "\n# GIT info\n" output += git_infos()[-1] output += "\n\n" return output.replace("\n", "<br>")
def alive(): from lmfdb import db if db.is_alive(): return "LMFDB!" else: abort(503)