Skip to content

Commit 17863a1

Browse files
author
Mark Kasaboski
committed
KeyError: activity - adds retry for full event data else raises
1 parent c7298c7 commit 17863a1

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

packages/flare/bin/cron_job_ingest_events.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ def main(
122122
flare_api_cls=flare_api_cls,
123123
):
124124
save_last_fetched(kvstore=kvstore)
125-
126125
save_next(kvstore=kvstore, tenant_id=tenant_id, next=next_token)
127126

128127
print(json.dumps(event), flush=True)

packages/flare/bin/flare.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)