Re: [PHP] 2 PHP 4.2.2 issues: server keeps working after clientdisconnects, session_start() blocks until other session scripts complete

2003-03-06 Thread Michael Kedl
I can answer my own #2 now.

It is because I was trying to start_session() from the same
machine/browser and it must require that only one user use a session at
a time (duh).

Works fine if I use two browsers that are logged in with different
account names/sessions.

Still working on #1, I am definately sending data all the time during my
2 minute script, so it "should" be able to detect the connection has
closed.  But, maybe apache is not configured right

Cheers,
Mike

On Wed, 2003-03-05 at 17:37, Michael Kedl wrote:
> 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]>
-- 
Michael Kedl <[EMAIL PROTECTED]>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] 2 PHP 4.2.2 issues: server keeps working after clientdisconnects, session_start() blocks until other session scripts complete

2003-03-05 Thread Michael Kedl
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



Re: [PHP] 2 PHP 4.2.2 issues: server keeps working after clientdisconnects, session_start() blocks until other session scripts complete

2003-03-05 Thread Rasmus Lerdorf
> 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.

> 2)session_start() blocks 

This sounds odd.  session_start() should not be blocking.  What sort of 
backend datastore are you using for your sessions?

-Rasmus


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php