I have a very popular blog about extract priority already : SCALING TABLEAU (2/10) – SET EXTRACT PRIORITY BASED ON DURATION. It increased 70-80% efficiency on my server. Today’s blog is for different use case – VIP extracts.
Do you have VIP extract priority ask? How to handle it if you have business requirement to keep a few mission critical extracts higher priority?
There are at least options to make it happen:
- Option 1: Create high priority schedule – the problem with this approach is that you still can’t hide this schedule so other publishers can still choose to use for their regular extracts – not easy for admin to control. Some people name the schedule as ‘ask admin before use’…..
- Option 2: As as admin, you can change the identified extract priority (no matter embedded in workbook or published data source) to a small number (like 5) as VIP high priority – the problem with this approach is that every time the workbook or published data source has a new revision, the priority changes back to 50 (default) automatically.
We have been using Option 2 for long time but requesters complain from time to time since it is a lot of work from both sides to communicate the new revision and manually change extract priority.
Recently one idea came to live and I am extremely happy about it. Here is what we are able to achieve now : Making the identified VIP extract priority stick – means that even the owner changed the workbook or data source, the priority will still keep the VIP high priority so admin does not have to manually change every time. WoW!
How to do it? The answer is again a Python program:
- Create a simple CSV file with site_name, extract_type (value is ‘workbook’ or ‘data source’ – this will make next step much easier), extract_name, VIP_priority (for example, 5, or 10, etc)
- Create a simple Python to read the CSV line by line, match the record with PostGre database to find the exact extract task.
- Change the extract priority to the priority in CSV by using the following command:
UPDATE tasks
SET tasks.priority = xxx
WHERE condition;
- Schedule the Python (maybe a few times a day)
What happens is that when new revision was created by owners, the VIP extract priority is actually changed back to 50 – this is something Tableau controls automatically (we do not want to customize Tableau feature at all so upgrade made simple). However a few hours later, the priority will be reset back to what it is supposed to be based on the CSV file that is the master control file.
I agree that it is not a perfect solution but I am pretty happy with this solution – it is a lot of better than manual updating each time after publishers have a new revision of their VIP extracts – it saves tons of communication.
Love to hear your alternative approach.
Excellent and very cool idea and great content of different kinds of the valuable information’s.
Most of the link you have referred in the block do not exist anymore and so not able to implement them. can you please help
Sorry for the late reply. Can you please give me one example of broken link? Maybe there was web hosting server issue that should be fixed