Skip to content

Commit 9022396

Browse files
Added SMTP forwarder configuration reloading
1 parent 76f43e6 commit 9022396

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

warden/settings.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,6 @@
3333
# ---------------
3434

3535
START_SMTP_FORWARDER = False
36+
SMTP_FORWARDER_CONFIG = None
3637

37-
# Server settings
38-
EMAIL_HOST = 'mail.sjsoft.com'
39-
EMAIL_USERNAME = 'some_username_here'
40-
EMAIL_PASSWORD = 'some_password_here'
41-
EMAIL_USE_TLS = True
42-
43-
EMAIL_TO = 'ryans@sjsoft.com'
44-
EMAIL_FROM = 'no-reply@sjsoft.com'
45-
EMAIL_SUBJECT_VALIDATION_KEY = 'j5_parsable'
46-
EMAIL_BODY_VALIDATION_KEY = 'CARBON_FILE_MAIL'
47-
48-
METRIC_PATTERNS_TO_SEND = ['combined.dori-a.memUsage', 'combined.*.cpuUsage' ]
4938

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# MAIL SERVER
2+
EMAIL_HOST = 'mail.sjsoft.com'
3+
EMAIL_USERNAME = 'justinc@sjsoft.com'
4+
EMAIL_PASSWORD = 'shuphJuem9'
5+
EMAIL_USE_TLS = True
6+
EMAIL_FROM = 'no-reply@sjsoft.com'
7+
8+
# MAIL TARGET
9+
EMAIL_TO = 'benm@sjsoft.com'
10+
EMAIL_SUBJECT_VALIDATION_KEY = 'j5_parsable'
11+
EMAIL_BODY_VALIDATION_KEY = 'CARBON_FILE_MAIL'
12+
13+
# METRICS TO SEND
14+
METRIC_PATTERNS_TO_SEND = 'dori-a.memUsage', 'combined.*.cpuUsage'
15+
16+
# EVERY x SECONDS
17+
SEND_INTERVAL = 30

warden/warden_smtp_forwarder.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ def __init__(self, config_file):
1616

1717
config_file = os.path.expandvars(os.path.expanduser(config_file))
1818

19-
2019
self.dispatcherThread = self.CentralDispatcherThread(config_file)
2120

2221
def start(self):
@@ -34,9 +33,7 @@ class CentralDispatcherThread(threading.Thread):
3433
def __init__(self, config_file):
3534
threading.Thread.__init__(self)
3635
self.running = False
37-
self.configuration = ConfigObj(config_file)
38-
39-
self.configuration['METRIC_PATTERNS_TO_SEND'] = self.compile_metric_patterns(self.configuration['METRIC_PATTERNS_TO_SEND'])
36+
self.config_file = config_file
4037

4138
def compile_metric_patterns(self, old_patterns):
4239

@@ -52,6 +49,10 @@ def compile_metric_patterns(self, old_patterns):
5249

5350
def run(self):
5451
self.running = True
52+
53+
self.configuration = ConfigObj(self.config_file)
54+
self.configuration['METRIC_PATTERNS_TO_SEND'] = self.compile_metric_patterns(self.configuration['METRIC_PATTERNS_TO_SEND'])
55+
5556
self.SLEEP_TIME = int(self.configuration['SEND_INTERVAL'])
5657
self.last_poll_time = time.time()
5758

@@ -60,6 +61,9 @@ def run(self):
6061
time.sleep(1)
6162
continue
6263

64+
self.configuration = ConfigObj(self.config_file)
65+
self.configuration['METRIC_PATTERNS_TO_SEND'] = self.compile_metric_patterns(self.configuration['METRIC_PATTERNS_TO_SEND'])
66+
6367
conn = SMTP()
6468
try:
6569
log.debug('Connecting...')

0 commit comments

Comments
 (0)