From a4af1c91a7196752d2fe8ccf7e5cbb1593e95f65 Mon Sep 17 00:00:00 2001 From: jantuomi Date: Tue, 26 Jul 2016 15:46:35 +0300 Subject: Add threading to UptimeService, fix response --- project/uptimeservice.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'project/uptimeservice.py') diff --git a/project/uptimeservice.py b/project/uptimeservice.py index 252dc17..0cda612 100644 --- a/project/uptimeservice.py +++ b/project/uptimeservice.py @@ -3,13 +3,22 @@ import socketserver import logging import threading +class UptimeRequestHandler(http.server.SimpleHTTPRequestHandler): + def do_GET(self): + self.send_response(200) + self.send_header("Content-type", "text/plain") + self.send_header("Content-Length", "0") + self.end_headers() class UptimeService(threading.Thread): + _instance = None + def __init__(self, port): super(UptimeService, self).__init__() + UptimeService._instance = self self.port = port - self._handler = http.server.SimpleHTTPRequestHandler + self._handler = UptimeRequestHandler self._httpd = socketserver.TCPServer(("", port), self._handler) @@ -20,3 +29,10 @@ class UptimeService(threading.Thread): def run(self): self.serve() + def stop(self): + self._httpd.shutdown() + + @staticmethod + def stop_services(): + if UptimeService._instance is not None: + UptimeService._instance.stop() -- cgit v1.3