[Mailman-Users] A quick question about slicing outgoing qrunner

Mark Sapiro mark at msapiro.net
Wed Sep 7 19:23:46 EDT 2016


On 09/07/2016 02:54 PM, Chris Nulk wrote:
> 
> I have read the archives regarding slicing the qrunner queues. Mailman
> here runs on a single system (virtual) along with the local MTA and web
> server.  Our outgoing queue recently got bogged down.  I would like to
> increase the number of queues for the outgoing qrunner to three instead
> of one.


The first thing you need to understand is why the outgoing queue got
"bogged down". Depending on the actual cause, increasing the number of
OutgoingRunner slices may not help. Usually, doing things in the MTA is
more effective. The most effective thing often is setting up a separate
submission port for Mailman that bypasses  lot of checks.


> My question is will I encounter any problems with changing (in
> mm_cfg.py) the QRUNNERS entry to:
> 
> QRUNNERS = [
>     ('ArchRunner',     1), # messages for the archiver
>     ('BounceRunner',   1), # for processing the qfile/bounces directory
>     ('CommandRunner',  1), # commands and bounces from the outside world
>     ('IncomingRunner', 1), # posts from the outside world
>     ('NewsRunner',     1), # outgoing messages to the nntpd
>     ('OutgoingRunner', 3), # outgoing messages to the smtpd (change to
> three '3' queues)
>     ('VirginRunner',   1), # internally crafted (virgin birth) messages
>     ('RetryRunner',    1), # retry temporarily failed deliveries
>     ]


That should be fine assuming you haven't set

USE_MAILDIR = No

but see caveat. Another way which doesn't depend on USE_MAILDIR or a
future release not adding or deleting a new queue is

QRUNNERS.remove(('OutgoingRunner', 1))
QRUNNERS.append(('OutgoingRunner', 3))

The QRUNNERS list is not order sensitive so you don't need to insert the
new entry where the old one was removed.

Caveat: Documentation says the number of slices must be a power of two.
This is based on the theory that slice membership is based on the last
bits of the queue entry name (hash), but it hasn't been that way for
ages if ever. I'm certain the code works with 3 slices, but that's
relatively untested.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan


More information about the Mailman-Users mailing list