Skip to content

Commit 28263ab

Browse files
committed
fix: skip unparseable commits instead of blocking list forever (CM-1318)
Signed-off-by: Uroš Marolt <uros@marolt.me>
1 parent 3cacf06 commit 28263ab

1 file changed

Lines changed: 19 additions & 10 deletions

File tree

  • services/apps/mailing_list_integration/src/crowdmail/worker

services/apps/mailing_list_integration/src/crowdmail/worker/list_worker.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,25 @@ async def _process_single_list(self, mailing_list: MailingList):
9090
shard = shard_index(shard_path)
9191
commit_ids = await new_commits(shard_path, heads.get(shard))
9292
for git_id in commit_ids:
93-
message, blob_id = read_email(shard_path, git_id)
94-
parsed = parse_email(
95-
message,
96-
mailing_list.source_url,
97-
mailing_list.name,
98-
git_id,
99-
blob_id,
100-
mailing_list.segment_id,
101-
mailing_list.integration_id,
102-
)
93+
try:
94+
message, blob_id = read_email(shard_path, git_id)
95+
parsed = parse_email(
96+
message,
97+
mailing_list.source_url,
98+
mailing_list.name,
99+
git_id,
100+
blob_id,
101+
mailing_list.segment_id,
102+
mailing_list.integration_id,
103+
)
104+
except Exception as e:
105+
logger.error(
106+
"Skipping unparseable commit {} in shard {}: {}",
107+
git_id,
108+
shard_path,
109+
repr(e),
110+
)
111+
continue
103112
activity_data = parsed["activityData"]
104113
if not activity_data["timestamp"]:
105114
logger.warning(

0 commit comments

Comments
 (0)