Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.

Sending Notifications to users if workflow runs for more than certain amount of time

teja_8
5 - Atom

I' have admin access to Alteryx. Recently we faced an issue where one workflow was running for more than 3 hours and because of that all the other workflows went to Queued state. So we reached out to user and asked to cancel the workflow. Instead of we monitoring the time manually by going to jobs page, is it possible to get notifications if workflow runs for more than certain amount of time or send notifications to users if the workflow uploaded is running for more than particular amount of time.

3 REPLIES 3
mbarone
16 - Nebula
16 - Nebula

Out of the box, no, there is nothing that will do this (other than watching the jobs page).  I haven't built anything to monitor the queue myself, but I have built extracts from the queue's Mongo collection.  Here's another option that someone came up with:  https://community.alteryx.com/t5/Alteryx-Server-Discussions/Jobs-in-the-queue-alerts/td-p/656056.  But you will have to build something yourself to haven an auto monitoring feature.

Akshu2020
7 - Meteor

HI @teja_8 - is your issue resolved? I'm too looking for the same kind of solution.

teja_8
5 - Atom

There are 2 approaches for this(that I could think of).

 

1.Writing a python code by connecting to MongoDB . All the workflow related details would be stored in AS_QUEUE collection.

2.If there is a dedicated worker node for your team, you can develop a workflow or set high priority.

 

The logic for both the cases would be like below:

Connect to AS_QUEUE collection,Get the list of workflows that are in RUNNING state. Calculate the runtime say Time_taking(datetimenow()-workflow start time). Get the last few run times of that workflow using AS_Application_ID of that workflow. Calculate the Average and set a threshold(Like Avg+30 percent of Avg). If Time_Taking is more than the threshold, get the details of that workflow like ID of who ran that workflow(get the name and email id using users collection from AlteryxGallery),workflow name,Avg time, Time_ Taking. Send the details to the users as a notification email.