krz/hutch-stats

Server-side utility for calculating contributions for sourcehut users. contributions server sourcehut stats

Commit 259d02a463

259d02a4639b46a436bbc6a9ba204834cdb67633

parent: 911804f719

Verified · cmc

cmc <hello@cleberg.net> · 2026-04-12 01:11 UTC

fix: wrap repo fetching in exception handling

Layout: unified · split

src/srht_contrib/services/git.py +6 −2
@@ -8,7 +8,7 @@ from typing import Any
88
99from srht_contrib.config import Settings
1010from srht_contrib.schemas import NormalizedEvent
11from srht_contrib.services.srht_client import SourceHutGraphQLClient
11from srht_contrib.services.srht_client import SourceHutClientError, SourceHutGraphQLClient
1212from srht_contrib.services.types import BackfillBatchResult
1313from srht_contrib.utils.dates import ensure_utc, parse_datetime
1414from srht_contrib.utils.identity import ActorIdentityResolver
@@ -97,7 +97,11 @@ class GitIngestionService:
9797 events: list[NormalizedEvent] = []
9898 for repository in discovered_repositories:
9999 owner, repo_name = self._split_repository(actor, repository)
100 repo_events = self._fetch_repository_commits(actor=actor, owner=owner, repo_name=repo_name, since=since_dt)
100 try:
101 repo_events = self._fetch_repository_commits(actor=actor, owner=owner, repo_name=repo_name, since=since_dt)
102 except SourceHutClientError:
103 logger.warning("git poll skipped repository=%s/%s due to GraphQL error", owner, repo_name, exc_info=True)
104 continue
101105 events.extend(repo_events)
102106
103107 logger.info("git poll complete for actor=%s normalized_events=%s", actor, len(events))