Dave Price
2007-Mar-20 13:29 UTC
[Pkg-exim4-users] Throttle or limit deliveries to smarthost? (one solution)
This appears to work for me ... - I am running a monolithis /etc/exim4/exim4.conf ... ported from exim3 - I use a single smart_host for nonlocal deliveries - I occasionally send batches of 1000+ emails to a distribution list, and want to prevent flooding of my small internet connection and/or my smart_host smtp server # load limit # # +------------------------------------------------+ # |queue_run_max|Use: main|Type: integer|Default: 5| # +------------------------------------------------+ # # This controls the maximum number of queue runner processes that an Exim daemon # can run simultaneously. This does not mean that it starts them all at once, but # rather that if the maximum number are still running when the time comes to # start another one, it refrains from starting another one. This can happen with # very large queues and/or very sluggish deliveries. This option does not, # however, interlock with other processes, so additional queue runners can be # started by other means, or by killing and restarting the daemon. # # Setting this option to zero does not suppress queue runs; rather, it disables # the limit, allowing any number of simultaneous queue runner processes to be # run. If you do not want queue runs to occur, omit the -qxx setting on the # daemon''s command line. # queue_run_max = 1 # #+------------------------------------------------------+ #|remote_max_parallel|Use: main|Type: integer|Default: 2| #+------------------------------------------------------+ # #This option controls parallel delivery of one message to a number of remote #hosts. If the value is less than 2, parallel delivery is disabled, and Exim #does all the remote deliveries for a message one by one. Otherwise, if a single #message has to be delivered to more than one remote host, or if several copies #have to be sent to the same remote host, up to remote_max_parallel deliveries #are done simultaneously. If more than remote_max_parallel deliveries are #required, the maximum number of processes are started, and as each one #finishes, another is begun. The order of starting processes is the same as if #sequential delivery were being done, and can be controlled by the #remote_sort_domains option. If parallel delivery takes place while running with #debugging turned on, the debugging output from each delivery process is tagged #with its process id. # #This option controls only the maximum number of parallel deliveries for one #message in one Exim delivery process. Because Exim has no central queue #manager, there is no way of controlling the total number of simultaneous #deliveries if the configuration allows a delivery attempt as soon as a message #is received. # #If you want to control the total number of deliveries on the system, you need #to set the queue_only option. This ensures that all incoming messages are added #to the queue without starting a delivery process. Then set up an Exim daemon to #start queue runner processes at appropriate intervals (probably fairly often, #for example, every minute), and limit the total number of queue runners by #setting the queue_run_max parameter. Because each queue runner delivers only #one message at a time, the maximum number of deliveries that can then take #place at once is queue_run_max multiplied by remote_max_parallel. # # remote_max_parallel = 1 ... The comments are from spec.txt - thank you!!! aloha, dave On 3/20/07, mark david mcCreary <mdm@internet-tools.com> wrote:> > Those are good questions, but I''m not advanced enough to know the > answers. > > I will keep watching the list and hope that somebody else does. > > mark