Re: [Exim] rsmtp: to many processes

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Joerg Sommer
CC: exim-users
Sujet: Re: [Exim] rsmtp: to many processes
On Mon, 2 Sep 2002, Joerg Sommer wrote:

> >> How can I prevent this? Why exim call 1 Process for 1 e-mail?
> >
> > Because that's the way it is designed.
>
> Is this really a good way? With a normal batch, I have >50 exims running.
> On a real server, oh..., there would be hundreds or thousands.


Exim was not designed for batches. It was designed for a general-purpose
system running on a host that is permanently connected to the Internet,
handling Internet mail. If you use Exim in any other environment, you
may have to coerce it into behaving sensibly.

The definition of "sensibly" is up to you. On some big servers, >50
exims running is nothing.

> That's difficult (see the posting from Jochen). But I have the
> possiblity, because there is a wraper script for rbsmtp. There I have
> placed -odq and a call 'exim -q'. I will see if it works, but a good
> solution it isn't.


What do you want "a good solution" to do? Do you want it to deliver each
incoming message before reading the next one? That could delay your
rsmtp for a very long time - timeouts on SMTP are of the order of 5
minutes, and some addresses are routed to several hosts, so might take
10 or 20 minutes to time out.

Personally, I think "a good solution" is "accept all this mail, stick it
on your queue" so that the rsmtp command runs as quickly as possible.
You can do this with -odq or by using queue_only_file (as was pointed
out).

Then you consider how to deliver the messages. A single queue runner
delivers one message at once; if you want more, just run two (or more)
queue runners at a time. In Exim 4, you can use the -qi option to limit
the queue runner to new messages that haven't had a previous delivery
attempt. There is actually quite a lot of flexibility.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.