Question on reducing load on MailScanner machine

Steve Freegard steve.freegard at fsl.com
Thu Jun 25 20:40:57 IST 2009


Christopher Fisk wrote:
> How do the various child processes of MailScanner know when another child process is scanning a message in the queue?  Does the parent process keep track?  It seems like this would logically work.

The children are independent of the parent; all it cares about are that
the correct number of children are running.

Each child scans the queue and attempts to lock each message it finds;
if the lock fails, then it moves on until it has either built up a batch
to scan or run out of files.

Jules can correct me if I'm wrong - it's been a while since I read the code.

> Looks like I will have to test it =)

Yep; that's the best part of open-source.

I'd recommend that you avoid SMB for this; NFS is the more likely of the
 two to work.

As I'm not a Postfix user - I'm not sure what type of locks it uses; if
it's flock() then it's unlikely to work over NFS; whereas POSIX Fcntl
locks should work over NFS IIRC (thankfully it's been years since I
messed with NFS).

This of course is also ignoring other issues that might creep in; such
as you'll need to make sure that everything between the machines is
identical (e.g. Postfix versions, MailScanner) etc.

Cheers,
Steve.


More information about the MailScanner mailing list