4
4
from http .server import HTTPServer , BaseHTTPRequestHandler
5
5
from http .client import HTTPConnection
6
6
7
+ server_status = ""
7
8
8
9
class SimpleHTTPRequestHandler (BaseHTTPRequestHandler ):
9
10
"""
@@ -19,8 +20,7 @@ def do_GET(self):
19
20
def do_status (self ):
20
21
self .send_response (200 )
21
22
self .end_headers ()
22
- f = open ("/tmp/kraken_status" , "rb" )
23
- self .wfile .write (f .read ())
23
+ self .wfile .write (bytes (server_status , encoding = 'utf8' ))
24
24
SimpleHTTPRequestHandler .requests_served += 1
25
25
26
26
def do_POST (self ):
@@ -34,31 +34,35 @@ def do_POST(self):
34
34
def set_run (self ):
35
35
self .send_response (200 )
36
36
self .end_headers ()
37
- with open ( "/tmp/kraken_status" , "w+" ) as file :
38
- file . write ( str ( " RUN" ))
37
+ global server_status
38
+ server_status = ' RUN'
39
39
40
40
def set_stop (self ):
41
41
self .send_response (200 )
42
42
self .end_headers ()
43
- with open ( "/tmp/kraken_status" , "w+" ) as file :
44
- file . write ( str ( " STOP" ))
43
+ global server_status
44
+ server_status = ' STOP'
45
45
46
46
def set_pause (self ):
47
47
self .send_response (200 )
48
48
self .end_headers ()
49
- with open ( "/tmp/kraken_status" , "w+" ) as file :
50
- file . write ( str ( " PAUSE" ))
49
+ global server_status
50
+ server_status = ' PAUSE'
51
51
52
+ def publish_kraken_status (status ):
53
+ global server_status
54
+ server_status = status
52
55
53
- def start_server (address ):
56
+ def start_server (address , status ):
54
57
server = address [0 ]
55
58
port = address [1 ]
56
59
global httpd
57
60
httpd = HTTPServer (address , SimpleHTTPRequestHandler )
58
61
logging .info ("Starting http server at http://%s:%s\n " % (server , port ))
59
62
try :
60
63
_thread .start_new_thread (httpd .serve_forever , ())
61
- except Exception :
64
+ publish_kraken_status (status )
65
+ except Exception as e :
62
66
logging .error (
63
67
"Failed to start the http server \
64
68
at http://%s:%s"
0 commit comments