def wait_for_health_check(config: dict): default_port = get_default_port(config) health_check_port = config.get('health_check_port', default_port) health_check_path = config.get('health_check_path') health_check_timeout_seconds = get_or(config, 'health_check_timeout_seconds', 60) if not health_check_path: logging.info('Health check path is not configured, not waiting for health check') return if not health_check_port: logging.warning('Health check port is not configured, skipping health check') return url = 'http://localhost:{}{}'.format(health_check_port, health_check_path) start = time.time() while time.time() < start + health_check_timeout_seconds: logging.info('Waiting for health check :{}{}..'.format(health_check_port, health_check_path)) try: response = requests.get(url, timeout=5) if response.status_code == 200: logging.info('Health check returned OK') return except: pass time.sleep(2) logging.error('Timeout of {}s expired for health check :{}{}'.format( health_check_timeout_seconds, health_check_port, health_check_path)) sys.exit(2)
def get_health_check_url(config: dict): default_port = get_default_port(config) health_check_port = config.get('health_check_port', default_port) health_check_path = config.get('health_check_path') if not health_check_path: logging.info('Health check path is not configured, not checking application health') return if not health_check_port: logging.warning('Health check port is not configured, skipping health check') return url = 'http://localhost:{}{}'.format(health_check_port, health_check_path) return url
def get_health_check_url(config: dict): default_port = get_default_port(config) health_check_port = config.get('health_check_port', default_port) health_check_path = config.get('health_check_path') if not health_check_path: logging.info( 'Health check path is not configured, not checking application health' ) return if not health_check_port: logging.warning( 'Health check port is not configured, skipping health check') return url = 'http://localhost:{}{}'.format(health_check_port, health_check_path) return url