So this works almost perfectly... Almost because:
#!/usr/bin/perl
use strict;
use Apache2::Const();# defines OK
use Apache2::Log();# defines warn
use Apache2::RequestUtil();# defines push_handlers
my $r = shift;
$r->push_handlers(PerlCleanupHandler => \&cleanup );
$r->heade
Caveat Lector:
Long Cleanups done inline on the Apache children can cause problems.
If you get a situation where the CleanUp takes to long OR you get
enough traffic to the page(s) which engage the CleanUp then you will
encounter a tipping point, and soon after your website will be almost
complete
The warning from William T. made me think to ask:
Does your site have "KeepAlive On" in httpd.conf?
(If not I can't think of anything to suggest...)
If so, try adding this as part of the redirect:
use Apache2::Connection();
use Apache2::RequestRec();
...
my $c = $r->connection();
$c->ke
The good news is that Mr. Mackenna got it! If I set "KeepAlive Off" in
apache2.conf then it all works fine. Below is a functioning long
process thingy which works with "KeepAlive On" and Firefox. I just hope
it works with MSIE ...
#!/usr/bin/perl
use strict;
use Apache2::Const -compile =>
Would this problem be any different in a normal CGI context with the
program doing forks? I don't imagine it would be, which is why I see
the ultimate wisdom in spawning an external program to handle
long-running tasks, or just cron something.
Oh well, live and learn.
Tosh
William T wrote:
Just wanted to note that since you've put the CONN_CLOSE in the
redirect code, it's not necessary (nor desirable) to put
"KeepAlive Off" in apache2.conf
With the CONN_CLOSE call you turn KA off just when you need it to be
off.
So what's the bad news?
cmac
On Jan 27, 2010, at 5:08 AM, To