13

Is there a way to make BaseHTTPServer.HTTPServer be multi-threaded like SocketServer.ThreadingTCPServer?

4
  • Is there a reason why you need it to be? Commented Mar 7, 2010 at 22:29
  • 3
    Because I want a basic web server that can handle concurrency? I also don't need/want an all out framework like web.py, cherrypy or anything like that, I just want a really basic webserver like BaseHTTPServer that can handle multiple concurrent requests. Commented Mar 7, 2010 at 22:32
  • Use Apache and mod_wsgi. Commented Mar 19, 2010 at 16:20
  • 1
    here is a reference: link, threading, forking Commented Apr 8, 2010 at 17:52

1 Answer 1

19

You can simply use the threading mixin using both of those classes to make it multithread :)

It won't help you much in performance though, but it's atleast multithreaded.

from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer

class MultiThreadedHTTPServer(ThreadingMixIn, HTTPServer):
    pass
Sign up to request clarification or add additional context in comments.

6 Comments

This looks like a solution.. however I'd rather opt to write my own server than use something slow.. :(
If you're simply looking for hosting Python than why not use an existing http server like nginx, apache or lighttpd? As for the performance, threading it will allow you to make multiple concurrent connections without blocking so in the case of multiple simultaneous requests it will be faster. But it will still use only 1 processor.
I'm not looking for that, I'm making a Queue server that takes incoming requests (http or some similar format) and does an action based on the request.
here is a reference: link, threading, forking
For quicky POC imps, this is a great way to allow multiple connections to not step on each other's comm buffers. Thanks for sharing.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.