Unlocking 'In Progress' Transaction Items in UiPath Orchestrator: A Simple Hack

Unlocking 'In Progress' Transaction Items in UiPath Orchestrator: A Simple Hack

The UiPath Orchestrator provides robust transaction management, ensuring process integrity and accountability when handling Queue Items. However, certain scenarios—like communication issues or unexpected errors—can leave a transaction stuck in the "In Progress" status, requiring developers to wait up to 24 hours for the Orchestrator to release the item automatically. This delay can be costly in time-sensitive processes.

In this article, I’ll share a quick hack to manually reset the status of such items to "Failed", enabling immediate action. But first, let’s briefly understand how the Orchestrator handles transaction statuses.

Understanding How Orchestrator Handle With Transaction Item Status

Transaction items in UiPath Orchestrator are tightly managed, with specific statuses defining their lifecycle:

  1. New: A newly added queue item that has not yet been processed.
  2. In Progress: Indicates that a robot is currently processing the item. This status is automatically set when the robot picks up the item.
  3. Successful: The robot has completed processing the item without errors.
  4. Failed: The item encountered an error during processing. Typically, this status includes an error message for tracking purposes.
  5. Abandoned: An item in the "In Progress" status for over 24 hours automatically transitions to "Abandoned".
  6. Retried: A new transaction item is created when a failed item is retried. The original item is marked as "Retried" for traceability.

These statuses are essential for orchestrating and monitoring queue processes efficiently. However, when an item remains stuck in "In Progress", it restricts further action, creating a bottleneck.


The Hack: Manually Resetting 'In Progress' Items to 'Failed'

To bypass the waiting period and unlock "In Progress" items, follow this approach:

Steps to Implement the Hack

1. Create a Workflow: Build a simple workflow in UiPath with the following input arguments:

- vStrPathOrchestratorProjectFolder: The path to the Orchestrator folder containing the queue.

- vStrQueueName: The name of the queue you’re working with.

- vStrTransactionItemName: The specific transaction item you want to unlock.

2. Use the Orchestrator Activitie to Retrieve the Transaction: Utilize the Get Queue Items activity to filter items with the "In Progress" status and match the specified transaction item name.

3. Set the Transaction Status to 'Failed': Use the Set Transaction Status activity to update the item's status to "Failed". Add a custom message such as "Forced status update" to the transaction's log for traceability.

Manually unlocking transaction items provides flexibility and reduces downtime in critical processes. By leveraging this approach, you can:

  • Retry transactions immediately.
  • Update item statuses for reporting or manual intervention.
  • Maintain process continuity during unexpected disruptions.

This approach empowers developers to handle stuck transaction items without unnecessary delays, streamlining debugging and reprocessing.


IMPORTANT! This technique should only be used with caution in production environments. Forcing a transaction item’s status can disrupt the integrity of the automation process if overused or applied indiscriminately. Always ensure proper governance and track any manual interventions to maintain control over your workflows.


Imad Eddine Berjamy

B2B Sales Expert | UiPath RPA Developer & Business Analyst

2 周

Thanks Vinícius for your article, but I'd rather use "Postpone" instead of "Set Status to Fail" for two reasons: 1 - The transaction could be on its second attempt (already retried), so setting it to fail won't retry it again, and it won't be processed. 2- To make a distinction between transactions that truly failed (due to BRE or System Exceptions) and those you manually retry due to being stuck in "In Progress" status. Hope this helps... :)

赞
回复
Victor Vieira

Software Engineer | iOS | Swift | SwiftUI | Objective - C | Flutter | AWS

3 个月

Great advice

赞
回复
Rafael Andrade

Senior Data Engineer | Azure | AWS | Databricks | Snowflake | Apache Spark | Apache Kafka | Airflow | dbt | Python | PySpark | Certified

3 个月

Excellent insights! Thanks for sharing, Vinícius Eduardo.

赞
回复

要查看或添加评论,请登录

Vinícius Eduardo的更多文章

社区洞察

其他会员也浏览了