diff options
| author | Christian Cleberg <[email protected]> | 2026-04-11 18:33:33 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-11 18:33:33 -0500 |
| commit | f0393a0b8d541df6b47bbeee6c4270ce8303bf18 (patch) | |
| tree | 6b9d154514d47b4a0a83628bd8c9ea82b56271c6 /src | |
| parent | e1a3233ec2204055faa8dadb18cb2efa12cf0e17 (diff) | |
| download | hutch-stats-f0393a0b8d541df6b47bbeee6c4270ce8303bf18.tar.gz hutch-stats-f0393a0b8d541df6b47bbeee6c4270ce8303bf18.tar.bz2 hutch-stats-f0393a0b8d541df6b47bbeee6c4270ce8303bf18.zip | |
fix: service_backfill_states
Diffstat (limited to 'src')
| -rw-r--r-- | src/srht_contrib/jobs/poller.py | 3 | ||||
| -rw-r--r-- | src/srht_contrib/services/git.py | 3 | ||||
| -rw-r--r-- | src/srht_contrib/services/todo.py | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/srht_contrib/jobs/poller.py b/src/srht_contrib/jobs/poller.py index 2b00090..45992e4 100644 --- a/src/srht_contrib/jobs/poller.py +++ b/src/srht_contrib/jobs/poller.py @@ -1,5 +1,6 @@ from __future__ import annotations +import copy import logging from datetime import UTC, datetime, timedelta @@ -224,7 +225,7 @@ class PollerService: result = fetcher(actor=actor, cursor_state=state.cursor_json) inserted = self._insert_events(db, result.events) total_inserted += inserted - state.cursor_json = result.cursor_state + state.cursor_json = copy.deepcopy(result.cursor_state) state.last_error = None state.updated_at = datetime.now(tz=UTC) if result.complete: diff --git a/src/srht_contrib/services/git.py b/src/srht_contrib/services/git.py index 69a6c1c..ebb823e 100644 --- a/src/srht_contrib/services/git.py +++ b/src/srht_contrib/services/git.py @@ -1,5 +1,6 @@ from __future__ import annotations +import copy from dataclasses import dataclass from datetime import UTC, datetime, timedelta import logging @@ -131,7 +132,7 @@ class GitIngestionService: "current_repository": None, } if cursor_state: - state.update(cursor_state) + state.update(copy.deepcopy(cursor_state)) if not state["discovery_complete"]: data = self.client.execute( diff --git a/src/srht_contrib/services/todo.py b/src/srht_contrib/services/todo.py index 0142005..b7209b1 100644 --- a/src/srht_contrib/services/todo.py +++ b/src/srht_contrib/services/todo.py @@ -1,5 +1,6 @@ from __future__ import annotations +import copy from dataclasses import dataclass from datetime import UTC, datetime, timedelta import logging @@ -303,7 +304,7 @@ class TodoIngestionService: "trackers_loaded": False, } if cursor_state: - state.update(cursor_state) + state.update(copy.deepcopy(cursor_state)) if not state["trackers_loaded"]: data = self.client.execute(TODO_TRACKERS_QUERY, {"cursor": state["trackers_cursor"]}) |
