Re: [exim] Queue priority

Top Page
Delete this message
Reply to this message
Author: Chris Lightfoot
Date:  
To: Eduardo Díaz Comellas
CC: exim-users
Subject: Re: [exim] Queue priority
On Fri, Jun 23, 2006 at 02:46:12AM +0200, Eduardo Díaz Comellas wrote:
    [...]

> The algorithm would be:
>
> At reception: each mail passes through a filter which assigns a priority
> value, from 0 (max priority) to 99 (lowest priority). Mails with priority
> other than 0 are queued instead of sent directly.
>
> The queue runner sorts mails in the queue based on the priority, and starts
> sending those with priority 0, then priority 1 and so on. When one category
> is ended, the queue should be read again to see if new "higher priority"
> mails have arrived the queue.
>
> Is this possible today? Any chance to get it implemented? Any help to
> implement it?


Switch off exim's own queue runners, and use an ACL to
stick the priorities in a header in the mail (erasing any
such that already exists). Then write a program which
iterates over the queue files, reading the headers (-H
files) to obtain the priorities and then sorting the list
of message-IDs in order; having done that, kick off exim
-M processes for them, starting with the most important
and working down to the least important. (I'm assuming
that no outgoing mail is going through this host; if it
does you'll need to treat outgoing mail separately.)

Is this wise, though? In your scheme low-priority mails
could be queued indefinitely behind higher-priority ones,
and delayed for an arbitrarily long time, which sounds
undesirable.

--
``Television enables you to be entertained in your home
by people you wouldn't have in your home.'' (David Frost)