mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 14:40:52 +00:00
fix(google-health): bound the backfill by progress and a horizon, not pages
A resumable collection counted the pages it had written across every backfill attempt and stopped at its ceiling (10,000 for heart rate). A watch that records heart rate every few seconds reaches that count two to three years back, and since it never reset, every later slice stopped at the same place, failed as stuck, and the backfill was never stamped complete. A walk is now stopped only when it stops moving: 20 pages in a row that reach no further back than the pages before them end it. A history backfill reads back at most GOOGLE_HEALTH_BACKFILL_HORIZON_YEARS (20 when unset). A data type that ends either way counts as finished, and where and why it ended is kept in backfillProgress past the completion stamp. An oldest-first list is read whole, as before. The slice chain's ceiling is derived from sixty days of back-to-back slices instead of the old page count. An account left at the old ceiling continues from its edge with the next slice. Refs #1220
This commit is contained in:
1 parent
01bf8fbb64
commit
72c259d85c
13 files changed
+1351
-108
No files matched your search
@@ -226,6 +226,10 @@ x-healthlog-env: &healthlog_env
|
||||
# the authorization code somewhere else.
|
||||
FITBIT_REDIRECT_URI: "${FITBIT_REDIRECT_URI:-}"
|
||||
GOOGLE_HEALTH_REDIRECT_URI: "${GOOGLE_HEALTH_REDIRECT_URI:-}"
|
||||
# How many years back the Google Health history backfill reads (a whole
|
||||
# number from 1 to 100; 20 when unset). A data type whose history goes
|
||||
# further ends there, and the integration card says so.
|
||||
GOOGLE_HEALTH_BACKFILL_HORIZON_YEARS: "${GOOGLE_HEALTH_BACKFILL_HORIZON_YEARS:-}"
|
||||
# Nightscout origins on your own network that the per-user connection
|
||||
# validator should accept, comma-separated (e.g. "http://nightscout.lan").
|
||||
# Without it a LAN/private Nightscout URL is refused as an SSRF target.
|
||||
|
||||
Reference in new issue
Block a user