Split check from load so check can be called under execution aswell
This commit is contained in:
parent
24fdce95ed
commit
f0f3a5c62d
@ -14,26 +14,33 @@ if default_namespace == None:
|
|||||||
default_namespace = socket.gethostname()
|
default_namespace = socket.gethostname()
|
||||||
|
|
||||||
|
|
||||||
|
def check_by_module(checks, *args, **kwargs):
|
||||||
|
for check in checks:
|
||||||
|
r = check.health(args, kwargs)
|
||||||
|
if r == False:
|
||||||
|
raise RuntimeError('liveness check {} failed'.format(str(check)))
|
||||||
|
logg.info('liveness check passed: {}'.format(str(check)))
|
||||||
|
|
||||||
|
|
||||||
|
def check_by_string(check_strs, *args, **kwargs):
|
||||||
|
checks = []
|
||||||
|
for m in check_strs:
|
||||||
|
logg.debug('added liveness check: {}'.format(str(m)))
|
||||||
|
module = importlib.import_module(m)
|
||||||
|
checks.append(module)
|
||||||
|
return check_by_module(checks, args, kwargs)
|
||||||
|
|
||||||
|
|
||||||
def load(check_strs, namespace=default_namespace, rundir='/run', *args, **kwargs):
|
def load(check_strs, namespace=default_namespace, rundir='/run', *args, **kwargs):
|
||||||
|
|
||||||
if namespace == None:
|
if namespace == None:
|
||||||
import socket
|
import socket
|
||||||
namespace = socket.gethostname()
|
namespace = socket.gethostname()
|
||||||
|
|
||||||
|
check_by_string(check_strs)
|
||||||
|
|
||||||
logg.info('pid ' + str(pid))
|
logg.info('pid ' + str(pid))
|
||||||
|
|
||||||
checks = []
|
|
||||||
for m in check_strs:
|
|
||||||
logg.debug('added liveness check: {}'.format(str(m)))
|
|
||||||
module = importlib.import_module(m)
|
|
||||||
checks.append(module)
|
|
||||||
|
|
||||||
for check in checks:
|
|
||||||
r = check.health(args, kwargs)
|
|
||||||
if r == False:
|
|
||||||
raise RuntimeError('liveness check {} failed'.format(str(check)))
|
|
||||||
logg.info('liveness check passed: {}'.format(str(check)))
|
|
||||||
|
|
||||||
app_rundir = os.path.join(rundir, namespace)
|
app_rundir = os.path.join(rundir, namespace)
|
||||||
os.makedirs(app_rundir, exist_ok=True) # should not already exist
|
os.makedirs(app_rundir, exist_ok=True) # should not already exist
|
||||||
f = open(os.path.join(app_rundir, 'pid'), 'w')
|
f = open(os.path.join(app_rundir, 'pid'), 'w')
|
||||||
|
Loading…
Reference in New Issue
Block a user