@@ -73,10 +73,25 @@ def fetch_feed_events(
7373 next_token = event_feed ["next" ]
7474 for event in event_feed ["items" ]:
7575 if ingest_full_event_data :
76- event = self ._fetch_full_event_from_uid (
77- uid = event ["metadata" ]["uid" ]
78- )
79- time .sleep (1 )
76+ uid = event ["metadata" ]["uid" ]
77+ retries = 3
78+ for attempt in range (retries ):
79+ try :
80+ event = self ._fetch_full_event_from_uid (uid = uid )
81+ break
82+ except Exception as e :
83+ self .logger .error (
84+ f"Failed to fetch full event data for { uid } : { e } "
85+ )
86+ if attempt < retries - 1 :
87+ time .sleep (1 ) # Don't hit rate limit
88+ else :
89+ self .logger .error (
90+ f"Failed to fetch full event data for UID { uid } after { retries } attempts."
91+ )
92+ raise e
93+
94+ time .sleep (1 ) # Don't hit rate limit
8095 yield (event , next_token )
8196
8297 def _fetch_event_feed_metadata (
@@ -116,9 +131,8 @@ def _fetch_event_feed_metadata(
116131
117132 def _fetch_full_event_from_uid (self , * , uid : str ) -> dict :
118133 event_response = self .flare_client .get (url = f"/firework/v2/activities/{ uid } " )
119- event = event_response .json ()["activity" ]
120- self .logger .debug (event )
121- return event
134+ event_response .raise_for_status ()
135+ return event_response .json ()["activity" ]
122136
123137 def fetch_api_key_validation (self ) -> requests .Response :
124138 return self .flare_client .get (
0 commit comments