Looker dashboard auto refresh stopped working

I have some dashboards apparently configured with auto refresh, as I can see the "refresh interval" from "dashboard" explore. However, I think the dashboards aren't refreshing as set, because there is no history of dashboard running at all. e.g. refresh interval=12 hours, I should see 2 DB queries (auto refresh never use cache) each day. 

What may cause auto refresh to pause?

0 9 742
9 REPLIES 9

The docs say that the dashboard needs to be open and not be in edit mode for the auto-refresh to work (I guess the logic is that there's no point refreshing it if nobody is looking at it!)

The autorefresh intervals begin at the time of day that you turn on this feature, and the dashboard refreshes on the interval you set as long as the dashboard is open in a browser tab and is not in edit mode. If the dashboard is closed or in edit mode during a scheduled refresh time, it won't refresh. If the dashboard is closed or goes into edit mode, regardless of whether or not it is during a scheduled refresh time, the refresh interval restarts as soon as the dashboard is opened again or leaves edit mode.



But if I want it to continue and refresh according to the set schedule, is there an option?
There is no point in leaving the dashboard open for its data to be refreshed.
Let's say I missed the update time by a few minutes. That means I'll have to wait for the next update or clear the cache and refresh and then wait the entire refresh time. It's just ridiculous.

It will continue to update on the set schedule. If you have it set to refresh every hour on the hour, it will continue to do so. If someone opens the dashboard at 1 minute past the hour, Looker will check the caching policy to see if the data is still considered fresh, and if so it will return data from the cache. Otherwise it will pull data from the database. It will then refresh on the hour as intended.

However, the documentation states, "If the dashboard is closed or in edit mode during a scheduled refresh time, it won't refresh."  am I missing something?

I think what that means is that Looker will not run those refreshing queries while the dashboard is closed. When a user opens it, it will go through the cycle of checking the cache for results and will return from cache if the caching rules say the data is ok. And then the dashboard refresh will resume at the same timing and cadence as before.

I would say that the thing to think about if you are concerned about the data being always totally up to date is the caching rules - if you were to set a very short caching period (even down to zero) then when the user opens the dashboard, they will be presented with very current data.

But what's the point of a scheduled refresh if it doesn't refresh automatically? I can't leave my computer on 24/7 just to make sure the dashboards are updated.
Even if I set a very short caching period, it will still require me to leave the dashboards open or open them before the time I scheduled and refresh them myself.
Is it possible to do a scheduled refresh and have it refresh at the scheduled time without leaving the dashboard open or opening it before the time I scheduled?

It does refresh automatically if a user has the dashboard open. If nobody is looking at the dashboard, it doesn't clutter your database with queries that are not needed.

I am curious about your use case - why do you want updates on your dashboard that nobody can see, use, or interact with? 

Let's say you are a manager in a company, and you log in to a certain dashboard twice a day to get an update on your team's results.
And let's say that the information on the dashboard takes a few minutes to refresh, and it's very frustrating to wait for it because you don't have those few minutes.
I want to schedule the information refresh so that you don't have to wait more than a few seconds to view the results.
This is something I didn't invent, it exists in other systems i.e. Tableau extract.

Ah, I see the issue now - it feels like the real problem is the fact that it is taking your database several minutes to return results, rather than the refresh functionality itself.

You could try setting the cache validity to - say - 59 minutes. Then scheduling the dashboard to a dummy address every hour. When the user comes to the dashboard, it will instantly return results that are a maximum of an hour old.