CGIHTTPServer threading problems
I'm a simple python webserver based on CGIHTTPServer module: import CGIHTTPServer import BaseHTTPServer import SocketServer import sys import SQL,network from config import * class ThreadingServer(SocketServer.ThreadingMixIn,BaseHTTPServer.HTTPServer): pass cfg = params() print XBOX Server started on port %s. Press Ctrl+C to kill Server % cfg.port server = ThreadingServer((cfg.name,cfg.port),CGIHTTPServer.CGIHTTPRequestHandler) try: while 1: sys.stdout.flush() server.handle_request() except KeyboardInterrupt: print Server killed The my cgi scripts are stored in the cgi-bin folder. One cgi script in particular implements multi-threading and is supposed to be asynchronous but it's not working. The browser that requests on the cgi script tends to wait until the cgi script is done. I checked multi-threaded cgi script but I'm 100% percent sure that it has no problem since it worked as a mod_python script before. Anyone came across with this problem? -- http://mail.python.org/mailman/listinfo/python-list
Re: CGIHTTPServer threading problems
Alvin A. Delagon wrote: I'm a simple python webserver based on CGIHTTPServer module: import CGIHTTPServer import BaseHTTPServer import SocketServer import sys import SQL,network from config import * class ThreadingServer(SocketServer.ThreadingMixIn,BaseHTTPServer.HTTPServer): pass cfg = params() print XBOX Server started on port %s. Press Ctrl+C to kill Server % cfg.port server = ThreadingServer((cfg.name,cfg.port),CGIHTTPServer.CGIHTTPRequestHandler) try: while 1: sys.stdout.flush() server.handle_request() except KeyboardInterrupt: print Server killed The my cgi scripts are stored in the cgi-bin folder. One cgi script in particular implements multi-threading and is supposed to be asynchronous but it's not working. The browser that requests on the cgi script tends to wait until the cgi script is done. I checked multi-threaded cgi script but I'm 100% percent sure that it has no problem since it worked as a mod_python script before. Anyone came across with this problem? CGI doesn't run asynchronously. All you've done with a multithreaded CGI server is have each CGI script run on a separate thread. But that doesn't change the fact that a browser is going to sit there and wait as the CGI script runs to completion (which is how the server knows it's done). -- http://mail.python.org/mailman/listinfo/python-list