One alternative is a cron job that runs every minute instead of a queue
runner.

Something to the effect of :-

for i in `exiqgrep -i | head -n 100`
do
  exim -M $i
done

This will process the oldest 100 emails in the queue.

-Andy-

> -----Original Message-----
> From: Steve Sargent [mailto:[EMAIL PROTECTED] 
> Sent: 02 June 2006 11:53
> To: [email protected]
> 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   : [EMAIL PROTECTED]
> WWW page: http://www.qmul.ac.uk/~cgaa160/index.html
> 
>                                  PIPER       _|_
>                                  PA28R  ____/___\___
>                                  ___________[=o=]___________
>                                  ARROW    e/  o  \e
> 
> 
> 


-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to