diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/check_health.py | 66 | ||||
-rwxr-xr-x | bin/run.py | 5 |
2 files changed, 71 insertions, 0 deletions
diff --git a/bin/check_health.py b/bin/check_health.py new file mode 100755 index 0000000..53e9da6 --- /dev/null +++ b/bin/check_health.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +# ============LICENSE_START======================================================= +# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +from http.server import HTTPServer, BaseHTTPRequestHandler +from urllib import parse + +#from BaseHTTPServer import BaseHTTPRequestHandler +#import urlparse +import json + +class GetHandler(BaseHTTPRequestHandler): + + def do_GET(self): + parsed_path = parse.urlparse(self.path) + message = '\n'.join([ + 'CLIENT VALUES:', + 'client_address=%s (%s)' % (self.client_address, self.address_string()), + 'command=%s' % self.command, + 'path=%s' % self.path, + 'real path=%s' % parsed_path.path, + 'query=%s' % parsed_path.query, + 'request_version=%s' % self.request_version, + '', + 'SERVER VALUES:', + 'server_version=%s' % self.server_version, + 'sys_version=%s' % self.sys_version, + 'protocol_version=%s' % self.protocol_version, + '', + ]) + self.send_response(200) + self.end_headers() + self.wfile.write(message) + return + + def do_POST(self): + content_len = int(self.headers.getheader('content-length')) + post_body = self.rfile.read(content_len) + self.send_response(200) + self.end_headers() + + data = json.loads(post_body) + + self.wfile.write(data['health']) + return + +if __name__ == '__main__': + from http.server import HTTPServer + #from BaseHTTPServer import HTTPServer + server = HTTPServer(("", 10000), GetHandler) + print('Starting server at http://localhost:10000') + server.serve_forever() @@ -21,6 +21,7 @@ # Author Gokul Singaraju gs244f@att.com # +import os import sys import yaml import multiprocessing @@ -45,6 +46,10 @@ if __name__ == '__main__': multiprocessing.log_to_stderr() logger = multiprocessing.get_logger() logger.setLevel(logging.INFO) + my_env = os.environ.copy() + my_env["PYTHONPATH"] = my_env["PYTHONPATH"]+"/usr/local/lib/python3.6:" + p = subprocess.Popen(['./bin/check_health.py'],stdout=subprocess.PIPE,env=my_env) + #print(p.communicate()) with open("./miss_htbt_service/config/config.yaml", 'r') as ymlfile: cfg = yaml.load(ymlfile) # Put some initial values into the queue |