Skip to content

Commit db50c0e

Browse files
authored
Merge pull request #114 from alpacahq/socketexception
Avoid swallowing user exceptions
2 parents 5ef52cc + e57bea7 commit db50c0e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

alpaca_trade_api/stream2.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def __init__(self, key_id=None, secret_key=None, base_url=None):
2525
self.polygon = None
2626
try:
2727
self.loop = asyncio.get_event_loop()
28-
except Exception:
28+
except websockets.WebSocketException as wse:
29+
logging.warn(wse)
2930
self.loop = asyncio.new_event_loop()
3031
asyncio.set_event_loop(self.loop)
3132

@@ -67,7 +68,8 @@ async def _consume_msg(self):
6768
stream = msg.get('stream')
6869
if stream is not None:
6970
await self._dispatch(stream, msg)
70-
except Exception:
71+
except websockets.WebSocketException as wse:
72+
logging.warn(wse)
7173
await self.close()
7274
asyncio.ensure_future(self._ensure_ws())
7375

@@ -92,7 +94,8 @@ async def _ensure_ws(self):
9294
if self._streams:
9395
await self.subscribe(self._streams)
9496
break
95-
except Exception:
97+
except websockets.WebSocketException as wse:
98+
logging.warn(wse)
9699
self._ws = None
97100
self._retries += 1
98101
await asyncio.sleep(self._retry_wait * self._retry)
@@ -112,8 +115,8 @@ async def subscribe(self, channels):
112115
ws_channels.append(c)
113116

114117
if len(ws_channels) > 0:
115-
self._streams |= set(ws_channels)
116118
await self._ensure_ws()
119+
self._streams |= set(ws_channels)
117120
await self._ws.send(json.dumps({
118121
'action': 'listen',
119122
'data': {

0 commit comments

Comments
 (0)