Create your first automation in just a few minutes.Try Studio Web →
by Internal Labs
0
Activity
104
Summary
Summary
This activity is used for creating a transaction report for transactions in a queue. It is very useful when using multiple performers.
Overview
Overview
Introduction
Summary reporting for multiple performers is a challenge that has been addressed in multiple ways. This documentation and custom activities present a methodology for doing reporting that is less apparent to most solution architects. It is simple and reliable. It eliminates many of the pitfalls of other methods like file contention on Excel files and race conditions between multiple performers.
Overview
At a high level, this methodology uses a single “Reporting” transaction that is added to the queue by the dispatcher. This ensures that only 1 performer will attempt to do the reporting. The transaction is set to “Low” priority so that it is always the last transaction pulled from the queue. The custom activity is then invoked from the Process Transaction state to extract the transactions from the queue. It will extract Exception information for failed transactions as well as 'Output Data' for successful ones.
This activity optionally waits for the number of running processes with a given name to be one. This gives other performers time to complete the last few transactions before the reporting begins. Please see additional details below for the full list of features. Demo projects have also been provided.
Get Queue Items
Get Queue Items Export Activity
This activity can be used independently of the Reporting activities. It is generally a replacement for the UiPath Get Queue Items activity. It uses the recommended Export APIs to get the data. This method is not affected by the new API limits or the removal of the Specific Content and Output Data from other APIs.
Get Queue Items Export And Parse Activity
This activity can be used independently of the Reporting activities. It is a more advanced replacement for the UiPath Get Queue Items activity. It uses the recommended Export APIs to get the data. Compared to the activity above, this one will parse the Specific Content and Output Date values into separate datatable columns for ease of use.
Coding The Dispatcher
Transactions Remaining Activity
There are scenarios where the dispatcher is scheduled to run frequently. If you want to report on each batch of transactions separately you may want to make sure that the reporting transaction is processed before the next batch of transactions is added to the queue.
An activity called Transactions Remaining is provided to be used in scenarios where a dispatcher may be scheduled so that it could add a second batch of transactions into the queue before the previous batch is complete. Using the activity below, your Dispatcher can easily determine if there are still New or In Progress transactions still in the Queue and skip creating more transactions if needed.
Please note the “Ignore In Progress Transactions Older Than Minutes” property. If a performer faults it is possible to leave the transaction with the state, “In Progress” even though it is really abandoned. For this reason, you are able to ignore any transactions that started more than X minutes ago.
Create Reporting Transaction Activity
After the normal transactions are added, use this activity to easily add a Low priority Reporting Transaction to your queue. The Reference property must contain the word “Reporting”, but it can also have other text as needed. The BatchStartDateTime property will be used by the Performer to filter the transactions. So the time needs to be before the Create time of the transactions added to the queue.
Coding the Performer
CreateSummaryReport activity
This activity is used to extract the data from the queue and has many options. It is best to implement this activity in the Process Transaction state of your Performer process. The IF shown below will direct normal transactions to the normal transaction logic and the Reporting transaction to a Reporting workflow.
If you are using a unique Reference queue, you will want to add a date or datetime to the Reference of your reporting Transaction. This is the reason for using .contains(“Reporting”) in the IF below.
The activity excludes all transactions from the report results that contain “Reporting” in the Reference value.
Features
Features
• Waits for jobs with a given process to end.
• Set a maximum time to wait for jobs. This is useful in situations where something has gone wrong.
• Extracts all transactions from a queue since the given transaction create date.
• Extracts exception details for failed transactions – Exception Type and Exception Reason.
• Extracts the given columns of Specific Content data.
• Extracts the given columns of Output Data.
• Filter the dataset by any Specific Content field.
• Output a datatable or file.
Additional Information
Additional Information
Dependencies
UiPath standard packages
Code Language
Visual Basic
Runtime
Windows (.Net 5.0 or higher)
Technical
Version
1.0.12Updated
May 22, 2024Works with
Studio: 22.4 - 23.10
Certification
Silver Certified
Support
UiPath Community Support
Resources