At 01:42 PM 4/26/2002 -0400, Perrin Harkins wrote:
>Stephen Adkins wrote:
>> Yes, I like Apache/mod_perl for everything that can be satisfied
>> within a short period of time (i.e. synchronous calls).  
>> However, when I initiate tasks from a browser which take a long time, 
>> I think the work needs to be offloaded to another server... one that 
>> can stick around and do the work.
>
>I don't see how another server is more able to "stick around" than 
>mod_perl.  You can simply send back a "message received" indication, cut 
>the connection to the client, and do the work.

I was thinking along the lines of:

  * mod_perl processes are resource intensive
  * we want to get done with the Apache child process as soon as 
    possible so that it can go back to servicing requests
  * don't use them for tasks such as waiting on synchronous
    network API's

However, your suggestion is understood.
It is in keeping with Rob Nagler's comments.

>> Furthermore,
>> requests need to be queued.  This is not a good use for a web server.
>> Thus the need for another server.
>
>A system for processing queues is very different from an RPC server. 
>Any of these servers (including mod_perl) would be good for putting 
>requests in the queue, but for processing the queue you would want 
>something different, like a simple forked daemon that has no RPC component.

You are quite right.
Your suggestion helped clarify my thinking on this point.
I am guessing that Net::Daemon would be a good package to build on.
(...which is in fact what PlRPC uses.)
I was thinking that the RPC call might be a good way to put the task
in the queue and retrieve the results, but that seems unnecessary now.

Stephen

P.S. 

Reply via email to