How to check in CGI if client disconnected

Gabriel Genellina gagsl-py2 at
Sun Aug 24 23:58:46 CEST 2008

En Sun, 24 Aug 2008 17:51:36 -0300, Wojtek Walczak <gminick at bzt.bzt> escribió:

> On Sun, 24 Aug 2008 17:21:52 -0300, Gabriel Genellina wrote:
>>>    I am writing a CGI to serve files to the caller. I was wondering if
>>> there is any way to tell in my CGI if the client browser is still
>>> connected. If it is not, i want to execute some special code before
>>> exiting.
>>>    Is there any way to do this? Any help on this is appreciated :)
>> I don't think so. A CGI script runs once per request, and exits. The server may find that client disconnected, but that may happen after the script finished.
> I am not a web developer, but I think that the only way is to
> set a timeout on server side. You can't be sure that the client
> disconnected, but you can stop CGI script if there's no
> action on client side for too long.

Which kind of client action? Every link clicked or form submitted generates a different request that triggers a CGI script; the script starts, reads its parameters, do its task, and exits. There is no "long running process" in CGI - the whole "world" must be recreated on each request (a total waste of resources, sure).

If processing takes so much time, it's better to assign it a "ticket" - the user may come back later and see if its "ticket" has been finished, or the system may send an email telling him.

Gabriel Genellina

More information about the Python-list mailing list