By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,696 Members | 2,256 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,696 IT Pros & Developers. It's quick & easy.

How do clients(web browser) close a python CGI program that is not responding?

P: n/a
Hi,there. Sometimes a python CGI script tries to output great
quantities of HTML responce or in other cases, it just falls into a
dead loop. How could my client close that CGI script running on the
server? I tried to use the STOP button in the web browser button, but
it does not work.

In addition, how could I configure that if a CGI program do not finish
its task in 20sec or so, it will be automatically terminated?

Mar 28 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Sullivan WxPyQtKinter wrote:
Hi,there. Sometimes a python CGI script tries to output great
quantities of HTML responce or in other cases, it just falls into a
dead loop. How could my client close that CGI script running on the
server?
Generally speaking, remote users don't have control over your local
processes, and if there is some problem with that local process that
causes it to loop indefinitely, the chance that it could react
appropriately to the browser is slim anyway. So the answer is to fix
the problem with the CGI program.
In addition, how could I configure that if a CGI program do not finish
its task in 20sec or so, it will be automatically terminated?


I suppose you could run it in a background thread or process,
terminating it after the allotted time has expired, but I suspect you'd
be better off addressing whatever is causing the problem in the first
place. What sort of CGI program is this?

--
Ben Sizer

Mar 28 '06 #2

P: n/a
In article <11*********************@z34g2000cwc.googlegroups. com>, Sullivan WxPyQtKinter wrote:
Hi,there. Sometimes a python CGI script tries to output great
quantities of HTML responce or in other cases, it just falls into a
dead loop. How could my client close that CGI script running on the
server? I tried to use the STOP button in the web browser button, but
it does not work.
It depends on what CGI framework you're using. If the user hits
'stop', the client browser should close its connection and your web
server should close the pipe to your CGI process. I'd expect you to
get a SIGPIPE when next trying to output data.
In addition, how could I configure that if a CGI program do not finish
its task in 20sec or so, it will be automatically terminated?


Do you mean a specific CGI, or all CGIs in general? If it's in general
then you need to see if your web server can be configured to do that.
If it's a specific CGI, check out signal.alarm() or
resource.setrlimit(resource.RLIMIT_CPU, ...). Apache has a RLimitCPU
directive, but be careful with it since it may well not do what you
expect.
Mar 28 '06 #3

P: n/a
Actually my project is converting certain specially costomized XML
file to HTML to display and edit. Sometimes the XML file is too big, or
the client upload a very huge file for the server to process, which
exceeds the processing ability of my server.(after all, it is a small
server on my poor laptop....which use winXP and IIS......not
professional, huh?)

I configures IIS to terminate CGI program if it do not complete in 20
sec. But it does not work....Perhaps I should go to a IIS or apache
forum for answer.

Thank you.

Mar 28 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.