I have been running mailman 2.1 from three servers with NFS sharing for the past couple years, but due to a recent issue I did some digging and found the suggestions for clustering at http://mail.python.org/pipermail/mailman-users/2008-March/060753.html (the post by Mark Sapiro detailing how to set up qrunner slices). It turns out the problem I was having was user error, so apparently mailman *can* run on a low traffic site without issue... however since I now have the proper changes made for qrunner, I have a new question.
My network consists of three primary servers running postfix and mailman. These are each essentially redundant machines, and I am in the process of setting up a fourth machine in a VM for processing SMTP. What I am wondering about is if there would be a way to configure qrunner on this VM so that it only processes messages which have been in the queue for more than X minutes... basically a backup machine so that if the server processes one of the slices goes offline for an extended period, this backup server would make sure the message gets sent out.
From an initial glance, I was thinking of having a configurable Delay variable in mm_cfg.py, specified in seconds, then qrunner could use the timestamp on the queued messages and only process the ones which were older than Delay. This backup machine would *not* have the qrunner slices patch applied to it, as it should be processing any message that doesn't get handled by the primary servers.
Does this sound plausible? Unfortunately I know nothing about python, nor the specifics of mailman's code, so I'm not sure if this would be an easy change that someone could give me the code for... but any help is appreciated.