On 9 Aug 2006 at 8:37, Also Sprach Matt Sergeant:

> On 9-Aug-06, at 8:25 AM, [EMAIL PROTECTED] wrote:
> 
> > I presume that there is an event loop. When an event happens and
> > the processing of that event takes, for example, five minutes, what
> > happens when another event happens?
> 
> It's blocked until you re-enter the event loop. Obviously that's bad,  
> so I'll be investigating ways you can do long running stuff. It'll be  
> some API along the lines of:
> 
>    $self->do_slow(sub { ... });
>    return CONTINUATION;
> 
> And when that's done (bearing in mind it'll be in a separate process  
> so you'll need to arrange for a way for data to be returned) the  
> continuation will pick up again at the next plugin in the chain.

Leaving plugins to one side for the moment...

In my particular scenario:

The server sits there listening for a request. This request
has to go to a db, retrieve lots of data, generate the xml etc
and eventually pass back html. Let's say that the retrieval of data 
takes about 5 mins.
If 100 users put in a request at the same time, the server blocks to
service to first user, how does it service the other users without 
forking or passing them on to other daemons ot threads?
(I have never used threads and have little idea about them)

Would I be correct in thinking that the mod_perlish speed you 
can achieve is due to the one instance of perl that is running the 
httpd and app?
So rather than the perl httpd running my perl app, in effect my perl 
app has an httpd embedded in it?

> (don't worry about the gritty details - I've done this sort of thing  
> for qpsmtpd already so it's just a SMOP and documenting it)

SMOP?
 
> > btw, how does one download axkit2?
> At the moment it's SVN only. I can put a snapshot up somewhere if you  
> like.

Thank you, but I've sussed it out. Well the d/l at least. The up and 
running may take some time, I'm a perl Makefile.PL wallah :)

John


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to