Merge branch '2800-python-global-state' into 2800-pgs
[arvados.git] / sdk / python / arvados / events.py
index 3df934a981e758da8973bf83ad3e8ecf79273b42..0dbfe6359dd18b93cb95d6154f22ec7dcbe24177 100644 (file)
@@ -6,6 +6,9 @@ import time
 import ssl
 import re
 import config
+import logging
+
+_logger = logging.getLogger('arvados.events')
 
 class EventClient(WebSocketClient):
     def __init__(self, url, filters, on_event):
@@ -34,10 +37,14 @@ class EventClient(WebSocketClient):
             pass
 
 def subscribe(api, filters, on_event):
+    ws = None
     try:
         url = "{}?api_token={}".format(api._rootDesc['websocketUrl'], config.get('ARVADOS_API_TOKEN'))
         ws = EventClient(url, filters, on_event)
         ws.connect()
         return ws
-    except:
-        ws.close_connection()
+    except Exception:
+        _logger.exception('')
+        if (ws):
+          ws.close_connection()
+        raise