On Mon, 19 Feb 2001, Lukasz Felsztukier wrote:

> 
> I understand this code has to be executed in a loop for each
> recipient...Can you explain what advantages I get doing it this way ?

the code will spawn upto maxchildren processes all trying to deliver mail
in parallel; it will try and keep that many processes doing work. each
time a child dies it will start another message. Basically it will move
the concurrencyremote upto the maximum number of children. Unlike
qmail-send however each child does not need to maintain any state
information; it will try to send the message, and if that FAILS it will
pass the message off to qmail to deliver. As most message get delivered on
the first attempt you'll save the overhead of writing the message to disk,
flushing the data, having qmail-send notice the message, move it from todo
into remote, tell qmail-rspawn to start a delivery for a specific message
and then remove it from the queue when it has finished.

the speedup for delivery should be quite impressive.

You'll have to do things like maintain a log of who received the message
so if the main loop break you can restart it and people won't receive
duplicates and other things like that, but still it's much less work than
the absolutle requirements for reliable delivery a general purpose mail
delivery agent has.

RjL
==================================================================
You know that. I know that. But when  ||  Austin, Texas
you talk to a monkey you have to      ||  Email: [EMAIL PROTECTED]
grunt and wave your arms          -ck ||

Reply via email to