Is there a way to also limit the plugin from getting prompt values if it is already running

Solved!
sander
Level 2
Is there a way to also limit the plugin from getting prompt values if it is already running

Is there a way to limit the plugin UI from getting prompt values if the custom recipe is already running in a flow?


Let set the stage:
I have created a plugin custom recipe to export a tableau worksheet as an PDF for each partner.
the list met partners is provided by an input step and the PDF's are saved to a managed folder.

Because of the Tableau PAT limitations you can only use 1 session at a time and if a new session is created with the same PAT the running session is disconnected with an authentication error

 

To limit the concurrent executions of a custom recipe in a flow DSS has the resourceKeys method and that seems to work for the recipe but will not block the plugin configuration calling the prompt values.


Operating system used: linux

0 Kudos
1 Solution
importthepandas

One thing about the tableau server API is that if you can use basic auth, you can bypass the single session requirement. This is a workaround of course but it does work and is more reliable than using a PAT. Tableau has a terrible implementation with the single session PATs and orchestration tools like DSS and Airflow struggle with this concept. If you must use PATs, you will essentially need to create a pool and manage the PATs akin to: https://github.com/tableau/server-client-python/issues/717

You'd need to at least set up a PAT and a backup for your plugin. Then you'll need to rotate them periodically as well based on your tableau admin requirements. A lot of overhead.

View solution in original post

0 Kudos
2 Replies
importthepandas

One thing about the tableau server API is that if you can use basic auth, you can bypass the single session requirement. This is a workaround of course but it does work and is more reliable than using a PAT. Tableau has a terrible implementation with the single session PATs and orchestration tools like DSS and Airflow struggle with this concept. If you must use PATs, you will essentially need to create a pool and manage the PATs akin to: https://github.com/tableau/server-client-python/issues/717

You'd need to at least set up a PAT and a backup for your plugin. Then you'll need to rotate them periodically as well based on your tableau admin requirements. A lot of overhead.

0 Kudos
sander
Level 2
Author

They blocked basic auth so PAT seems to be the only option.

 

I will investigate the pool of tokens options.

0 Kudos