Re: [exim] Controlling the number of deliveries

Top Page
Delete this message
Reply to this message
Author: Steve Sargent
Date:  
To: exim-users
Subject: Re: [exim] Controlling the number of deliveries
The requirement is this:-

We have some users who want to send very large volumes of messages to
the entire student population of the college. They would be sending
something like 15,000 messages in one hit.

We are worried that this could be a performance hit on our cetral
relays, so we would like to develop an exim configuration that would act
as a 'bulk submission' service.

It would run on a dedicated server and would operate in this fashion:-

1) queue all messages when first entered:-

queue_bulk:
   driver = redirect
   allow_defer
   condition = ${if and {\
                 { eq {$interface_address} {BULK_INTERFACE}}\
                 { first_delivery }}\
               {true}{false}}
   data = :defer:



2) Allow only one queue runner with only one connection so that all
messages get delivered one at a time via the one connection.


All ok so far, but the problem is that when the queue runner starts up
it trundles through the entire queue, which we would like to avoid. It
would be nice to have an option to tell the queue runner how many
messages to deliver then stop processing the queue, thus by releasing
them in batches in each subsequent queue runner.


Hope I'v managed to explain it a little more clearly. I do realise that
it's a bit of an unusual requirement.


Nigel Metheringham wrote:
> On Fri, 2006-06-02 at 10:34 +0100, Steve Sargent wrote:
>
>>Could this be put on the wish list?
>
>
>>Tony Finch wrote:
>>
>>>On Thu, 1 Jun 2006, Steve Sargent wrote:
>>>
>>>
>>>>So there is no configuration option to tell the smtp transport to do that?
>>>
>>>I'm afraid not.
>
>
> I'm still rather hazy on what you want to end up with - you actually
> asked how to achieve a particular result, rather than saying what the
> problem was...
>
> If you are trying to restrict the total numbers of SMTP sessions (or
> rather delivery sessions) being made simultaneously then thats loosely
> handled by restricting the number of queue runners. To do this more
> exactly you would need a central co-ordination system, which is not
> available within exim - and is directly against one of the central
> design constraints.
>
> If you really want to batch stuff in clumps then that is going to be
> tricky directly within exim, again because there is no central
> co-ordination, and its a really weird requirement.
>
> If you are worried about load, then there are load restrictions on queue
> runners available.
>
> Or you could put us out of my misery and tell us what the actual aim
> is....
>
>     Nigel.


--
Steve Sargent, Vox +44 020 7882 3220, Fax +44 020 8980 2001
QMUL Computing Services, Mile End Road, London E1 4NS, UK
Email : S.L.Sargent@???
WWW page: http://www.qmul.ac.uk/~cgaa160/index.html

                                 PIPER       _|_
                                 PA28R  ____/___\___
                                 ___________[=o=]___________
                                 ARROW    e/  o  \e