msg25632 - (view) |
Author: Markus Franz (mmf1987) |
Date: 2005-06-25 19:24 |
Hi! I am using Python for CGI scripting. I had a little cgi script (see the attached file). I saved it as test1.py - and tried to load it over HTTP. So everything is fine. But now I saw a very strange behaviour: I sent two parallel requests to the script (for example by sending two requests in two browser windows almost at the same time). My problem: The requests to the script seem NOT to be done in parallel: The first script prints "starting..." and after a short time "finished". And then in the other browser window the second request shows "starting...". But I expected that in both browser windows "starting" will be shown almost at the same time because the two requests are done in parallel. The strange behaviour goes on: If copied the test1.py and saved it as test2.py. Now I retried my test and sent two requests - but to these two identical files (that only differ in their filename). The the two requests seem to be done in parallel... (It tried my test on Fedora and Gentoo Linux, with Python 2.2 and Python 2.4, with different webservers (Apache and others), and with several different browsers - I always was the same.) I think the behaviour will be the same if I use my script on the command line... Best regards, Markus Franz |
|
|
msg25633 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-29 02:35 |
Logged In: YES user_id=81797 There's no uploaded file! You have to check the checkbox labeled "Check to Upload & Attach File" when you upload a file. Please try again. (This is a SourceForge annoyance that we can do nothing about. :-( ) |
|
|
msg25634 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-29 02:46 |
Logged In: YES user_id=81797 There's no uploaded file! You have to check the checkbox labeled "Check to Upload & Attach File" when you upload a file. Please try again. (This is a SourceForge annoyance that we can do nothing about. :-( ) |
|
|
msg25635 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-29 02:50 |
Logged In: YES user_id=81797 There's no uploaded file! You have to check the checkbox labeled "Check to Upload & Attach File" when you upload a file. Please try again. (This is a SourceForge annoyance that we can do nothing about. :-( ) |
|
|
msg25636 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-29 02:51 |
Logged In: YES user_id=81797 There's no uploaded file! You have to check the checkbox labeled "Check to Upload & Attach File" when you upload a file. Please try again. (This is a SourceForge annoyance that we can do nothing about. :-( ) |
|
|
msg25637 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-29 02:53 |
Logged In: YES user_id=81797 There's no uploaded file! You have to check the checkbox labeled "Check to Upload & Attach File" when you upload a file. Please try again. (This is a SourceForge annoyance that we can do nothing about. :-( ) |
|
|
msg25638 - (view) |
Author: Josiah Carlson (josiahcarlson) *  |
Date: 2005-06-30 06:20 |
Logged In: YES user_id=341410 I doubt that this is a Python issue. It seems more likely that your web servers are only willing to spawn a single CGI process at any one time. |
|
|
msg25639 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-30 07:47 |
Logged In: YES user_id=81797 I would tend to agree that it's unlikely to be a Python issue, but I'd be willing to try to reproduce it given further information. |
|
|
msg25640 - (view) |
Author: Josiah Carlson (josiahcarlson) *  |
Date: 2005-06-30 08:09 |
Logged In: YES user_id=341410 It's not a Python issue. I can run multiple copies of Python in the same console. It's the non-forking/non-threaded web server the OP is using. bash-2.05b$ /cygdrive/c/python24/python -c \ > "import time;time.sleep(1);import sys;sys.stdout.write('hello\r\n');\ > sys.stdout.flush();[i for i in xrange(10000000)];\ > ss.stdout.write('goodbye\r\n');sys.stdout.flush()" & [1] 2380 bash-2.05b$ /cygdrive/c/python24/python -c "import time;time.sleep(1);import sy s;sys.stdout.write('hello\r\n');\ sys.stdout.flush();[i for i in xrange(10000000)];\ sys.stdout.write('goodbye\r\n');sys.stdout.flush()" & [2] 1468 bash-2.05b$ hello hello goodbye goodbye [1]- Done /cygdrive/c/python24/python -c "import time;time.s leep(1);import sys;sys.stdout.write('hello\r\n');sys.stdout.flush();[i for i in xrange(10000000)];sys.stdout.write('goodbye\r\n');sys.stdout.flush()" [2]+ Done /cygdrive/c/python24/python -c "import time;time.s leep(1);import sys;sys.stdout.write('hello\r\n');sys.stdout.flush();[i for i in xrange(10000000)];sys.stdout.write('goodbye\r\n');sys.stdout.flush()" bash-2.05b$ |
|
|
msg25641 - (view) |
Author: Georg Brandl (georg.brandl) *  |
Date: 2005-06-30 08:39 |
Logged In: YES user_id=1188172 What's the matter with the filenames, then? If the OP is right and when the filenames differ, parallel is no problem, is it a webserver problem too? |
|
|
msg25642 - (view) |
Author: Sean Reifschneider (jafo) *  |
Date: 2005-06-30 08:49 |
Logged In: YES user_id=81797 This is definitely not a Python problem. If I run your script from two terminal windows from Python directly, they both finish at the same time. So, this is either something in how your browser or proxy is sending requests (perhaps there is some serialization going on in there), or something with how your web server is handling the requests. I can't say for sure, but it's unlikely to be an issue with Python. I'm closing this ticket because of that. |
|
|