Changes to allow each HTTP request to be a seperate thread#139
Merged
Conversation
|
|
||
| def start_http_server(port, addr=''): | ||
| """Starts a HTTP server for prometheus metrics as a daemon thread.""" | ||
| """Spawns each HTTPServer in a new thread to prevent blocking""" |
Contributor
There was a problem hiding this comment.
This should still mention the daemon thread, as that's more important.
| from BaseHTTPServer import BaseHTTPRequestHandler | ||
| from BaseHTTPServer import HTTPServer | ||
| from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer | ||
| from SocketServer import ThreadingMixIn |
| @@ -12,8 +12,8 @@ | |||
|
|
|||
| from . import core | |||
| try: | |||
Contributor
There was a problem hiding this comment.
You also need to change Python3
| class ThreadingSimpleServer(ThreadingMixIn, HTTPServer): | ||
| pass | ||
| """Starts a HTTP server for prometheus metrics in a new thread""" | ||
| """Starts a HTTP server for prometheus metrics as a daemon thread.""" |
Contributor
There was a problem hiding this comment.
The daemon thread should be mentioned in start_http_server, as that's the primary docs the user will see.
Contributor
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@brian-brazil
This change allows each HTTP request to be served by a separate thread (I think!).
This came about because of a network issue, which was causing one Prometheus to keep a connection open - causing all other Proms to fail the exporter as they couldn't get a connection.
This is also consistent with the Go exporter behavior.
Cheers,
James