aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman')
-rwxr-xr-xMailman/Defaults.py.in3
-rwxr-xr-xMailman/Queue/OutgoingRunner.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/Mailman/Defaults.py.in b/Mailman/Defaults.py.in
index e6738192..309d0ba3 100755
--- a/Mailman/Defaults.py.in
+++ b/Mailman/Defaults.py.in
@@ -1522,6 +1522,9 @@ PENDING_REQUEST_LIFE = days(3)
DELIVERY_RETRY_PERIOD = days(5)
# How long should we wait before we retry a temporary delivery failure?
+# Because RetryRunner sleeps for 15 minutes between processes of its queue,
+# whatever is put here is effectively rounded up to the next integer multiple
+# of 15 minutes.
DELIVERY_RETRY_WAIT = hours(1)
diff --git a/Mailman/Queue/OutgoingRunner.py b/Mailman/Queue/OutgoingRunner.py
index defaf02d..0a204e66 100755
--- a/Mailman/Queue/OutgoingRunner.py
+++ b/Mailman/Queue/OutgoingRunner.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2000-2012 by the Free Software Foundation, Inc.
+# Copyright (C) 2000-2017 by the Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -122,6 +122,9 @@ class OutgoingRunner(Runner, BounceMixin):
# disposition?
if now > deliver_until:
return False
+ # We're going to retry, but not too soon.
+ deliver_after = now + mm_cfg.DELIVERY_RETRY_WAIT
+ msgdata['deliver_after'] = deliver_after
else:
# Keep trying to delivery this message for a while
deliver_until = now + mm_cfg.DELIVERY_RETRY_PERIOD