On Wed, 2003-03-05 at 16:15, Rasmus Lerdorf wrote:
> > Hello all, I have 2 questions that have come up because I have several
> > long reports that can take 1-2 minutes to run. These are run from any
> > web client thru our linux -> apache -> php -> mysql system.
> >
> > 1)server keeps working after client disconnects
> > If a php script is running and it may take 1-3 minutes, and I hit escape
> > or close my web browser window, the script keeps running. I can see it
> > in top, consuming lots of cpu and sometimes ram. Why doesn't apache and
> > the php4.so notice the closed tcp connection and abort the script? Is
> > there a way to make this happen?
>
> Yes, this happens by default, but we can only catch it if we try to write
> something to the socket and get an error back. If you are processing and
> not outputting anything, there is no way for us to tell. If you are able
> to write out some sort of progress indicator during your processing then
> it would work.
>
I am actually looping in the php code:
while(!done)
{
mysql query
send some data to the client to see
}
So this output should trigger the detection that the socket closed?
I will try some flushes and make sure it is not caching it till the end
later. (but I see the data appear in my browser over the whole 1-3
minutes, so I think it is sending right away)
> > 2)session_start() blocks
>
> This sounds odd. session_start() should not be blocking. What sort of
> backend datastore are you using for your sessions?
>
I just saw someone else post about the same thing!
I am just letting it stick directories in /tmp for each session.
Thanks!
Any more ideas?
Mike
--
Michael Kedl <[EMAIL PROTECTED]>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php