How can I force mod_perl to only allow one process per connection?

Posted by Charles Ma on Stack Overflow See other posts from Stack Overflow or by Charles Ma
Published on 2010-04-19T00:19:21Z Indexed on 2010/04/19 0:23 UTC
Read the original article Hit count: 557

Filed under:
|
|

I have a perl cgi script that's fairly resource intensive (takes about 2 seconds to finish). This is fine as long as only at most 4 or 5 of them are running at the same time and that's usually the case.

The problem is that when a user clicks a link that calls this script, a new process is spawned to handle that connection request, so if a user clicks many times (if they're impatient), the server gets overloaded with new processes running and most of them are redundant.

How can I ensure that only one instance of this process is running per host?

This is an old system that I'm maintaining which uses an old framework for the frontend, and I would like to avoid using javascript to disable the button client side if possible. Converting this to fast-cgi perl is out of the question as well, again because this is an old system and adding fast-cgi to apache might break a lot of other things that this thing runs.

© Stack Overflow or respective owner

Related posts about perl

Related posts about cgi