Tom,
We've been using exiscan-0.99 for a while now (since I last emailed you
to discuss a possible race condition) and have been very happy with it.
Recently, we had a series of power and system failures that left us with
exim queues containing several thousand successfully scanned emails.
When starting 'exim -bd -q' without exiscan under these conditions, a
max of queue_run_max queue runners (default: 5) are spawned. However,
when exiscan is used to handle de-queueing, it spawns an explicit exim
delivery process for each and every spooled email. Our mail servers
would boot and then run out of resources as 2000+ exim processes fought
to deliver outstanding emails.
Although individual exim daemons obey exim.conf limits, they don't keep
track of each other and the only global limit appears to be based on
system load (in our case, we ran out of VM before load got much above 1).
exim list: Anyone able to verify this?
Can exiscan be modified to fork delivery processes as children and use
wait to monitor and limit the maximum amount running at any one time?
I might be able to spend a little time looking at this if it doesn't
clash with other exiscan development and if you aren't already looking
into this...
Cheers,
Wilf.
--
Dr Graeme Wilford SCS and IT Manager for ECM
School of ECM Phone: +44 (0)1483 879125
University of Surrey Fax: +44 (0)1483 534139
Guildford, GU2 7XH email: G.Wilford@???