We are currently running a v9 beta instance of redash, and we are trying to version control the queries and prevent the case where a logged in user or multiple users are individually refreshing the same dashboard multiple times in quick succession, as this could negatively impact our sql server instance.
For the version control aspect, I have used a gitlab repository with a gitlab-ci.yml file which uploads or updates queries to the correct datasource using the redash API, and then allows shared ownership of these queries but not alter permissions to the datasources they are in, which controls the volume of queries on Redash. I would be happy to discuss this further if anyone is interested, as this has allowed us to have version control and records of previous iterations of queries.
We think that the best approach for the dashboard refresh would be to have a “cache period” - i.e each query would return the cache result if it was under a certain age (in seconds), else it would refresh and re-execute the query to produce new results. This would limit the possibility of multiple users all pushing multiple widgets to refresh simultaneously on the same dashboard.
I wasn’t sure from looking around if this was already an existing feature, or if I would have to do something with the query results data source as a work around, if anyone could advise on the best approach to this?
Thank ya kindly.