How to enhance Tableau Server Admin skills? All about Refresh, Schedules, Tasks & Jobs

Nouer Uz Zaman
5 min readOct 3, 2022

--

Before taking a deep dive into understanding the nitty greedy of Tableau Server Admin tasks we need to understand one term. If we understand that one term then digesting the concepts of schedules and tasks makes it very easy. That magical word is “Backgrounder”.

What is Backgrounder?

When you use Tableau Server there are certain components that users can interact directly such as VizQL; VizQL in a nutshell is the interactivity that is given to the user to basically play with the visuals/interactive filters. In direct opposite, Backgrounder is the component that the user does not interact directly. It is more like the backend component.

In other words say the BI team from your analytics department uploaded a workbook in the company’s Tableau Server environment for your use. You open one of the workbooks and play around with the filters to get different perspective of the dataset. The visuals that you see when you play around with filters is the direct result of VizQL. You can read more about VizQL in one of my previous articles I have written. So, in a way what VizQL does you can see the changes. However, the work processes that make VizQL happen you cannot see it. Those work processes are Backgrounders.

Backgrounder is the Back Kitchen!

It is very important to understand what is a Backgrounder so I will try to give a more physical example. Just to emphasize backgrounder again we will take Kitchen analogy into account.

Damascene is a popular Arab restaurant in Slough, England. People come to this restaurant from all parts of the UK to try its tasty shawarma and falafel dishes.

Now, when customers come to order their favourite dish they take the order and pass it down to the Kitchen staff. Now Tableau Server behaves in a similar way where the user using the visuals requests to see something different and so VizQL passes the requirements back to the Backgrounder and Backgrounder gives it back to the VizQL and VizQL shows it to the user.

Thus, we can image Backgrounder as the Back Kitchen of the restaurant and it should work in any scenario.

  1. Imagine the customer came with a very unique dish and the desk person takes the order and passes it to the chef. However, it will take longer than usual to make it because the request is unique. Similarly, if the request Backgrounder gets is complex then it will take it longer than usual to respond.
  2. Image the customer gave their order but the desk person was not able to properly tell/describe what the customer wanted to the chef then chef asks desk person to ask the customer again what they want. In the time taken for the desk person to get the requirements again it will cause a delay. For a dish which should have taken 5 minutes to make it took 25 minutes. Similarly, if we don’t have the right schedules/tasks in place then Background will work very slow.

Task = Recipe

When you create an extracted refresh (or email subscription) in Tableau Server project folder you automatically created a “Backgrounder Task” or simply known a the Task. Task is like a recipe which tells the system how to do the work.

Job = dish

The execution and outcome of the task is known as a Job. In other words Job is like the final dish that is made from the recipe. If we interchangeably use the words job and dish. Then, if the dish is made successfully then the status would be “Completed”. If the dish is in the process of making then it would status as “In Progress” or if the chef has not started the dish then the status would be “Pending”.

Job Queue = Order Taken

When you to a busy restaurant then you will notice the desk person sticking notes of what orders still need to be made at the kitchen wall. Similarly, Job Queues are jobs which need to be done and waiting in line.

What are Schedules? How jobs turn up in the queue

If we continue with our kitchen analogy then there are two things which will make orders list appear on the kitchen wall. First comes from remainders list.

Say you are working as the desk person taking orders and then in the computer there is a note that says every Saturday at 6pm there is a order of 10 shawarmas (say 10 friends decide to meet up at the same spot and time every Saturday). Thus, around 5:30pm every Saturday you get a reminder on the computer to make 10 shawarmas so you just put the note on the chef’s wall.

Schedules work in a similar fashion. So that you do not forget to refresh it the system refreshes the workbook on behalf of you on time. You just have to set to specific time and frequency.

Rest API can be used to turn up Jobs in the queue.

I had mentioned previously there are two ways for the order to appear on the chef’s wall. The second is (this is more theoretical for example purposes), you use Python which integrates with the software of the Kitchen to set up remainders or orders so that the desk person does not have to it do it (which makes it faster and convenient).

Similarly, in Tableau you can do the same thing using Python. Python integrates with Tableau using the Rest API. Rest API can be integrated into the automation to trigger jobs and external work flows.

Next article will look at how Backgrounder works.

--

--