I have created a Dashboard that shows real-time occupancy across each floor of our Main Library and looks like this:
The occupancy data is held in a hosted table in ArcGIS Online and is updated every minute by a process that uses the ArcGIS API. The Dashboard is configured to display in a different colour if the data is more than 5 minutes old, a situation that should never arise. However, despite modifying the various refresh settings the Dashboard does not usually display up to date data and usually appears like this:
Note that in the screen grab above it shows that the most recent data is 10 minutes old, which isn't the case as it is updated every minute. I have verified the data is up to date by using the Query interface to the REST URL for the hosted table and I can retrieve data that is around 1 minute old.
I have followed the instructions regarding refresh intervals in the Dashboard (and associated items) as set out in this blog post by @JenniferAcunto, but I just can't get the Dashboard to display up to date information. My specific setup is as follows (everything is in ArcGIS Online):
Even with all the various refresh interval settings described above, the data presented in the Dashboard should never be more than 2 minutes old, but more often than not it is showing data that is up to 30 minutes old. I'm at a loss to know what to do. From what I've read, displaying (near) real-time data in a Dashboard seems to be possible, but despite configuring everything as per the documentation I just can't get it to work. It's like the data is being cached somewhere and the cache is only invalidated at random intervals (this blog post on caching by @PaulBarker says "These cached responses from the server are automatically invalidated as the data is edited. This ensures that clients using the layer always get the latest information.", but that doesn't seem to be the case here.
Any help/tips/pointers from anyone that has managed to get near real-time data to display in a Dashboard would be greatly appreciated.