Skip to content

Commit 6d25532

Browse files
committed
Support configurable delay between url retries
1 parent 4c1435d commit 6d25532

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

graphite_beacon/alerts.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,10 @@ def configure(self, name=None, rules=None, query=None, **options):
125125
'request_timeout', self.reactor.options['request_timeout'])
126126
self.connect_timeout = options.get(
127127
'connect_timeout', self.reactor.options['connect_timeout'])
128-
self.url_retries = options.get('url_retries', self.reactor.options['url_retries'])
128+
self.url_retries = options.get(
129+
'url_retries', self.reactor.options['url_retries'])
130+
self.url_retry_delay = parse_interval(options.get(
131+
'url_retry_delay', self.reactor.options['url_retry_delay'])) / 1000
129132

130133
self.history_size = options.get('history_size', self.reactor.options['history_size'])
131134
self.history_size = parse_interval(self.history_size)
@@ -336,10 +339,14 @@ def load(self):
336339
break
337340
elif final:
338341
break
342+
elif self.url_retry_delay > 0:
343+
yield gen.sleep(self.url_retry_delay)
339344

340345
except Exception as e:
341346
if final:
342347
self.notify('critical', str(e), target='loading', ntype='common')
343348
break
349+
elif self.url_retry_delay > 0:
350+
yield gen.sleep(self.url_retry_delay)
344351

345352
self.waiting = False

graphite_beacon/core.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ class Reactor(object):
5151
'ignore_nan': False,
5252
'loading_error': 'critical',
5353
'alerts': [],
54-
'url_retries': 0
54+
'url_retries': 0,
55+
'url_retry_delay': 0
5556
}
5657

5758
def __init__(self, **options):

0 commit comments

Comments
 (0)