Re: [exim] Controlling the number of deliveries

Top Page
Delete this message
Reply to this message
Author: Andrew Johnson
Date:  
To: 'Steve Sargent', exim-users
Subject: Re: [exim] Controlling the number of deliveries
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:S.L.Sargent@qmul.ac.uk]
> Sent: 02 June 2006 11:53
> 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

>
>
>