🖥️

Refresh Schedules

Understand how refresh schedules work within Nansen Query

Understanding Refresh Schedules

Dashboards and saved queries each have a refresh schedule, a frequency during which the data will refresh itself.
Dashboard refreshes will ask all the queries on the dashboard for the most recent cached results.
Query refreshes will calculate the latest results based on the latest data.
The fresh rate for dashboards and queries are independent from each other!
Therefore, for the data on a dashboard to refresh, both the dashboard and the query have to be refreshed.
Schedule refreshes also doesn't work with parameterized queries
We currently don't support parameterized queries as it requires an input each time the query is run. An alternative is to run the query with all possible parameters and utilize a filter to extract the exact result.
List of queries and their refresh schedule.

Deep Dive Into Refresh Schedules

Queries and dashboard are a 1:N relationship, a single query can be used by multiple dashboards. This is why queries and dashboards have different refresh rates.
Imagine you have a query that is being used by two different dashboards, each being set to refresh daily. The first dashboard refreshes at UTC 0 (London) and the other at UTC 12 (‎Oceania). If the query is being refreshed at the dashboard's schedule, the dashboard would be refreshing every 12 hours, which would be wrong for both dashboards.
This complexity increase significantly as more dashboards reference the same query, especially if it is an important query!

Best Practices For Refresh Schedules

This problem exists in many global companies where everyone needs to use the same 24 hours to define a "day". Some best practices include:
  1. 1.
    Standardize on a definition of day and reporting period. While the end of day may not be midnight your time, everyone will be using the same time for reporting.
  2. 2.
    Separate live data and reporting data into different queries. If a dashboard is meant to display the latest data, set it to the lowest refresh rate (1 hour) and use that for all live data dashboards. Use a different query for reporting and set that query to refresh every 24 hours.
  3. 3.
    Standardize on data freshness. Use the same data freshness, e.g., 4 hours, for all dashboards and queries. This will eliminate any refresh schedule conflicts.