Re: [exim] Should queue processing be rewritten in Exim?

Top Page
Delete this message
Reply to this message
Author: Marc Perkel
Date:  
To: exim-users
Subject: Re: [exim] Should queue processing be rewritten in Exim?
Suppose Exim had 2 queues instead of one. We'll call the first queue the
primary queue which is a ram drive and the secondary queue which is a
disk drive. All this is of course optional and user settable.

Messages come into and are processed by the primary queue. The outgoing
process picks up messages in the primary queue for delivery and makes an
attempt. If the delivery is successful then the message is removed from
the queue and is never written to disk.

However if the message fails its first delivery attempt then the message
is put into the secondary queue for normal retry processing.

I know this isn't going to be simple but it might not be to complex.
Exim would have to be expanded to run multiple queues rather than just
one. Then you would have to add some logic to move messages between the
queues should the first attempt fail. OR - send the message to a
secondary "retry" server with a disk based queue for retry processing.
You might also have some overflow logic should the ram drive fill up
that it switches to disk based queueing or stops taking new connections
on queue full.

I'm thinking these kinds of changes might not take too much
restructuring to accomplish.