Skip to content

Commit bc64cd4

Browse files
fix: SSE error handling
1 parent 99e3004 commit bc64cd4

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

devcycle_python_sdk/managers/sse_manager.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import ld_eventsource
44
import ld_eventsource.actions
5+
import logging
56
import ld_eventsource.config
67
from typing import Callable
78

9+
logger = logging.getLogger(__name__)
810

911
class SSEManager:
1012
def __init__(
@@ -31,13 +33,16 @@ def read_events(
3133
handle_message: Callable[[ld_eventsource.actions.Event], None],
3234
):
3335
self.client.start()
34-
for event in self.client.all:
35-
if isinstance(event, ld_eventsource.actions.Start):
36-
handle_state(event)
37-
elif isinstance(event, ld_eventsource.actions.Fault):
38-
handle_error(event)
39-
elif isinstance(event, ld_eventsource.actions.Event):
40-
handle_message(event)
36+
try:
37+
for event in self.client.all:
38+
if isinstance(event, ld_eventsource.actions.Start):
39+
handle_state(event)
40+
elif isinstance(event, ld_eventsource.actions.Fault):
41+
handle_error(event)
42+
elif isinstance(event, ld_eventsource.actions.Event):
43+
handle_message(event)
44+
except Exception as e:
45+
logger.exception(f"DevCycle: failed to read SSE message: {e}")
4146

4247
def update(self, config: dict):
4348
if self.use_new_config(config["sse"]):

0 commit comments

Comments
 (0)