Repository: incubator-airflow
Updated Branches:
  refs/heads/master 985a433a8 -> e8e7209e3


[AIRFLOW-2702] Handle uncaught statsd configuration errors

Closes #3564 from
Noremac201/the_spy_who_errored_me


Project: http://git-wip-us.apache.org/repos/asf/incubator-airflow/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-airflow/commit/e8e7209e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-airflow/tree/e8e7209e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-airflow/diff/e8e7209e

Branch: refs/heads/master
Commit: e8e7209e3a22ec5e79ed56437827fd584bec7a48
Parents: 985a433
Author: Cameron Moberg <[email protected]>
Authored: Wed Jul 4 14:25:43 2018 +0100
Committer: Kaxil Naik <[email protected]>
Committed: Wed Jul 4 14:25:43 2018 +0100

----------------------------------------------------------------------
 airflow/settings.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-airflow/blob/e8e7209e/airflow/settings.py
----------------------------------------------------------------------
diff --git a/airflow/settings.py b/airflow/settings.py
index 7c0376d..79a99a2 100644
--- a/airflow/settings.py
+++ b/airflow/settings.py
@@ -26,6 +26,7 @@ import atexit
 import logging
 import os
 import pendulum
+import socket
 
 from sqlalchemy import create_engine
 from sqlalchemy.orm import scoped_session, sessionmaker
@@ -71,16 +72,17 @@ class DummyStatsLogger(object):
 
 Stats = DummyStatsLogger
 
-if conf.getboolean('scheduler', 'statsd_on'):
-    from statsd import StatsClient
-
-    statsd = StatsClient(
-        host=conf.get('scheduler', 'statsd_host'),
-        port=conf.getint('scheduler', 'statsd_port'),
-        prefix=conf.get('scheduler', 'statsd_prefix'))
-    Stats = statsd
-else:
-    Stats = DummyStatsLogger
+try:
+    if conf.getboolean('scheduler', 'statsd_on'):
+        from statsd import StatsClient
+
+        statsd = StatsClient(
+            host=conf.get('scheduler', 'statsd_host'),
+            port=conf.getint('scheduler', 'statsd_port'),
+            prefix=conf.get('scheduler', 'statsd_prefix'))
+        Stats = statsd
+except (socket.gaierror, ImportError):
+    log.warning("Could not configure StatsClient, using DummyStatsLogger 
instead.")
 
 HEADER = """\
   ____________       _____________

Reply via email to