Sync server
How sr-stats imports data from the source, and how it keeps that import running.
The data in sr-stats comes from Survivalrun Bond Nederland. A protected server that runs all day imports that source for the app. It is a separate program from the website, so a visit to sr-stats never calls the source directly.
What it does
The server retrieves the source once for sr-stats, rather than for every visitor. It uses three routes to do so.
- Full import. Twice a day the server walks through the source and updates races, start lists, results and standings. Results that are already final and unchanged are skipped.
- Live results on race days. While races are underway, the server checks their results more often. A response that has not changed is recognised and does not touch the data.
- Notifications from the source. The bond can report that something changed. The server verifies that notification and then retrieves only the part concerned. A notification that arrives twice does not cause a second retrieval.
After an import, the server tells the app that its data changed, so overviews can show the new values.
Respecting the source
All requests to the source go through a single queue with a fixed pause between requests. Live requests go ahead of bulk work. This keeps the load on the source of Survivalrun Bond Nederland low.
Monitoring and backups
Coolify runs the server and restarts it when it stops. Better Stack monitors it: the server sends a signal every few minutes, and a missing signal raises an alert. The data is also backed up separately every day. We do not publish further operational details.
What this means for you
When the source updates a result, the data in sr-stats can change afterwards. The visible status on a result remains the explanation of what is known at that point: provisional or final. Results are currently updated about every half hour; faster updating may come later, but this page makes no promise about it. See Data and freshness.