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 = """\ ____________ _____________
