summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbwarsaw2002-03-26 22:23:46 +0000
committerbwarsaw2002-03-26 22:23:46 +0000
commit2fe1861353e855b08f76a13c0f75e50a6f25009d (patch)
tree916d4fdf76e400730b4a93e07e44057842177b33 /src
parent6a2313d0b69c49cee21b2a7a6a6f31f5c3393d5f (diff)
downloadmailman-2fe1861353e855b08f76a13c0f75e50a6f25009d.tar.gz
mailman-2fe1861353e855b08f76a13c0f75e50a6f25009d.tar.zst
mailman-2fe1861353e855b08f76a13c0f75e50a6f25009d.zip
A significant rewrite of the main bounce runner logic to make it
perform better. In general there are two changes: 1) we never lock a list until and unless absolutely necessary, 2) we only run the bounce runner once every minute (as opposed to the normal runners' once-per-second sleep time). Specifically, SLEEPTIME: The base class now looks at this attribute to decide how long to sleep between loop iterations, and it defines a default. We override the bounce runner's value to lengthen the time it sleeps to 1 minute (we may eventually want to move this to Defaults.py). __scanbounce(): Gone. All its functionality is subsumed in the new ScanMessages() method and the new _dispose(). __verpbounce(): Renamed to the non-method verp_bounce(). Also, we rip out the code that iterates through all the lists if the bounce came to the site list's -bounces address. _dispose(): Simply calls verp_bounce() to find bouncing addresses, and if that returns a false value (empty list), calls ScanMessages() to see if the bounce detector can find some bouncing addresses. If not, we're done (after possibly forwarding the non-matching message). Otherwise, we register the bounce either on the target mailing list, or on all the mailing lists if this came to the site's -bounces address.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions