From 1f41ce3a7d1c8108a2e688f2305a7c16f1aaed16 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Fri, 12 Feb 2016 15:25:42 -0800 Subject: [PATCH] CLI adding refresh_druid command --- panoramix/bin/panoramix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/panoramix/bin/panoramix b/panoramix/bin/panoramix index a925974e9dcfa..a95084ad9b530 100755 --- a/panoramix/bin/panoramix +++ b/panoramix/bin/panoramix @@ -1,5 +1,7 @@ #!/usr/bin/env python +from datetime import datetime +import logging from subprocess import Popen from flask.ext.script import Manager @@ -62,6 +64,25 @@ def load_examples(sample): print("Loading [Birth names]") data.load_birth_names() +@manager.command +def refresh_druid(): + """Refresh all druid datasources""" + session = db.session() + from panoramix import models + for cluster in session.query(models.DruidCluster).all(): + try: + cluster.refresh_datasources() + except Exception as e: + print( + "Error while processing cluster '{}'\n{}".format( + cluster, str(e))) + logging.exception(e) + cluster.metadata_last_refreshed = datetime.now() + print( + "Refreshed metadata from cluster " + "[" + cluster.cluster_name + "]") + session.commit() + if __name__ == "__main__": manager.run()