8000 Changes to allow each HTTP request to be a seperate thread (#139) · pythonAI/client_python@ce5542b · GitHub
[go: up one dir, main page]

Skip to content

Commit ce5542b

Browse files
jamessewellbrian-brazil
authored andcommitted
Changes to allow each HTTP request to be a seperate thread (prometheus#139)
Allow each HTTP request to be a separate thread
1 parent 6a8d85e commit ce5542b

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

prometheus_client/exposition.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@
1212

1313
from . import core
1414
try:
15-
from BaseHTTPServer import BaseHTTPRequestHandler
16-
from BaseHTTPServer import HTTPServer
15+
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
16+
from SocketServer import ThreadingMixIn
1717
from urllib2 import build_opener, Request, HTTPHandler
1818
from urllib import quote_plus
1919
from urlparse import parse_qs, urlparse
2020
except ImportError:
2121
# Python 3
2222
unicode = str
23-
from http.server import BaseHTTPRequestHandler
24< 8000 /td>-
from http.server import HTTPServer
23+
from http.server import BaseHTTPRequestHandler, HTTPServer
24+
from socketserver import ThreadingMixIn
2525
from urllib.request import build_opener, Request, HTTPHandler
2626
from urllib.parse import quote_plus, parse_qs, urlparse
2727

@@ -97,10 +97,12 @@ def log_message(self, format, *args):
9797

9898

9999
def start_http_server(port, addr=''):
100-
"""Starts a HTTP server for prometheus metrics as a daemon thread."""
100+
"""Starts an HTTP server for prometheus metrics as a daemon thread"""
101+
class ThreadingSimpleServer(ThreadingMixIn, HTTPServer):
102+
pass
101103
class PrometheusMetricsServer(threading.Thread):
102104
def run(self):
103-
httpd = HTTPServer((addr, port), MetricsHandler)
105+
httpd = ThreadingSimpleServer((addr, port), MetricsHandler)
104106
httpd.serve_forever()
105107
t = PrometheusMetricsServer()
106108
t.daemon = True

0 commit comments

Comments
 (0)
0