@@ -608,6 +608,7 @@ def __init__(
608
608
model : 'Model' ,
609
609
event_name : Optional [str ] = None ,
610
610
juju_debug_at : Optional [Set [str ]] = None ,
611
+ skip_duplicate_events : bool = True ,
611
612
):
612
613
super ().__init__ (self , None )
613
614
@@ -624,6 +625,7 @@ def __init__(
624
625
self ._event_name = event_name
625
626
self .meta = meta
626
627
self .model = model
628
+ self .skip_duplicate_events = skip_duplicate_events
627
629
# [(observer_path, method_name, parent_path, event_key)]
628
630
self ._observers : _ObserverPath = []
629
631
# {observer_path: observing Object}
@@ -878,7 +880,9 @@ def _emit(self, event: EventBase):
878
880
continue
879
881
if _event_kind and _event_kind != event_kind :
880
882
continue
881
- if self ._event_is_in_storage (observer_path , method_name , event_path , this_event_data ):
883
+ if self .skip_duplicate_events and self ._event_is_in_storage (
884
+ observer_path , method_name , event_path , this_event_data
885
+ ):
882
886
logger .info (
883
887
'Skipping notice (%s/%s/%s) - already in the queue.' ,
884
888
event_path ,
0 commit comments