Skip to content

Commit

Permalink
fix: Shutdown diagnostic thread if enabled (#312)
Browse files Browse the repository at this point in the history
  • Loading branch information
keelerm84 authored Oct 1, 2024
1 parent ec74ff8 commit cde6cfb
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions ldclient/impl/events/event_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class DebugEvent:
def __init__(self, original_input: EventInputEvaluation):
self.original_input = original_input


class IndexEvent:
__slots__ = ['timestamp', 'context']

Expand All @@ -57,7 +58,7 @@ def __init__(self, config: Config):
self._context_formatter = EventContextFormatter(config.all_attributes_private, config.private_attributes)

def make_output_events(self, events: List[Any], summary: EventSummary):
events_out = [ self.make_output_event(e) for e in events ]
events_out = [self.make_output_event(e) for e in events]
if not summary.is_empty():
events_out.append(self.make_summary_event(summary))
return events_out
Expand Down Expand Up @@ -163,10 +164,10 @@ def make_output_event(self, e: Any):

return None

"""
Transform summarizer data into the format used for the event payload.
"""
def make_summary_event(self, summary: EventSummary):
"""
Transform summarizer data into the format used for the event payload.
"""
flags_out = dict() # type: Dict[str, Any]
for key, flag_data in summary.flags.items():
flag_data_out = {'default': flag_data.default, 'contextKinds': list(flag_data.context_kinds)}
Expand Down Expand Up @@ -246,7 +247,7 @@ def run(self):
def _do_send(self, output_events):
# noinspection PyBroadException
try:
json_body = json.dumps(output_events, separators=(',',':'))
json_body = json.dumps(output_events, separators=(',', ':'))
log.debug('Sending events payload: ' + json_body)
payload_id = str(uuid.uuid4())
r = _post_events_with_retry(
Expand Down Expand Up @@ -442,8 +443,6 @@ def _get_indexable_context(self, event: EventInput, block: Callable[[Context], N

block(context)



def _should_debug_event(self, event: EventInputEvaluation):
if event.flag is None:
return False
Expand Down Expand Up @@ -492,6 +491,11 @@ def _send_and_reset_diagnostics(self):
def _do_shutdown(self):
self._flush_workers.stop()
self._flush_workers.wait()

if self._diagnostic_flush_workers:
self._diagnostic_flush_workers.stop()
self._diagnostic_flush_workers.wait()

if self._close_http:
self._http.clear()

Expand Down

0 comments on commit cde6cfb

Please sign in to comment.