- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Email to a Friend
- Printer Friendly Page
- Report Inappropriate Content
In the world of automation, efficient queue management is the unsung hero that keeps your processes running smoothly. In Blue Prism, queues are more than just a best practice - they're a game-changer for scalability, reliability, and performance.
Queues keep automations stable, enable easy scaling, and simplify production support. They are central to parallel processing, retries, and exception handling. Within this blog, I cover Queue Management in Blue Prism in a technical but simple way, focusing on how to set up work queues to use them effectively in real-world automations.
What is a work queue in Blue Prism?
A Work Queue is a database-backed structure that stores queue items, where each item represents one unit of work for a digital worker.
Think of it as a to-do list for digital workers. Instead of one single long run, work is split into smaller, independent tasks that can be processed safely and in parallel. For example, imagine you're automating an invoice processing system. Each invoice could be a separate item in the queue, allowing your digital workers to process them individually and efficiently. In simple terms, queues help process large workloads reliably and in parallel.
Where and how to create a work queue
Work Queues are created in System Manager, not in Process or Object Studio. To create a new queue, navigate to: System → System Manager → Work Queues → New Queue
Enter a queue name, description, and max retry attempts, then Save.
It's a good idea to use clear and meaningful names (for example, Invoice_Processing_Queue) to simplify monitoring and support.
Each queue item typically contains:
- Key: Optional unique identifier
- Priority: Priority at which this item can be picked
- Status: Pending, Completed, or Exception
- Tags: For grouping and filtering
- Attempts: Number of retries
- Total Worktime: How much time did the robot spend on this item.
Queue status: running vs paused
Queues can be running or paused, and the difference matters in production environments.
Here's a comparison of the two:
|
Feature |
Running Queue |
Paused Queue |
|
Can digital workers add items? |
Yes |
Yes |
|
Can digital workers retrieve items? |
Yes |
No (retrieval is blocked) |
|
Impact on ongoing processing |
Normal processing continues |
Already locked items continue processing normally |
|
Typical use cases |
Regular execution, normal operations |
Maintenance, application downtime, controlled stops |
|
Effect on running sessions |
Sessions run normally |
Pausing does not stop running sessions — it only blocks new item pickup |
Paused queues are used during application downtime, maintenance, or controlled stops. Note that pausing a queue does not stop running sessions - it only prevents new item pickup.
Why queue management is important
There are many benefits to using queue management within your process automations—queues solve real operational problems. Here are some essential points to why it’s important:
- Scalability: Add more digital workers without changing logic
- Reliability: Unprocessed work remains safe after failures
- Exception handling: Clear separation of system vs business errors
- Performance: Smaller transactions, easier recovery
- Reporting: Built‑in visibility for business teams
Core Queue Operations in Blue Prism
Blue Prism provides a standard Work Queue VBO (available via Digital Exchange) that is commonly used to perform actions such as Add To Queue, Get Next Item, Mark Completed, Mark Exception and many more. This VBO abstracts queue operations and is widely used in enterprise automations for consistency and reuse.
There are some important limitations, however:
- Once data is added to a work queue, it cannot be modified.
- Queue items are immutable; you can only change their status (Completed or Exception), not the underlying data manually.
- Maximum length of Item in a queue can be 255 characters.
- Items once deleted cannot be restored.
Adding & Retrieving Items
Items are added using the Add to Queue action, usually via a loader process. Good practices include validating data, keeping loaders lightweight, and using keys to avoid duplicates. Digital workers use Get Next Item, which automatically locks the item. Locked items are hidden from other bots, and locks release automatically on crashes, marking the item as an exception with the tag 'Automatically set exception on session end.'
Tags and priority influence selection, controls urgency (higher number = lower priority).
Completion or Exception Items
Each item must be updated explicitly:
- Mark Completed: Success
- Mark Exception: Failure
Retry Mechanism
Retries are controlled by setting the number of Maximum Attempts, which is often configured in System Tab >Work Queue.
With this configuration of maximum attempts blue prism will create a new item in queue with all the values of item remains same as new item (only difference that attempt value gets increased) & blue prism will only retry System Exception items. Hence while manually retrying best practice is to only retry system exceptions and not retry business exceptions. Missing this step often causes stuck items and can lead to reporting issues.
Queue Item Status
A queue item moves through four statuses:
- Pending: Waiting to be picked up.
- Locked: Currently being processed
- Completed: Processed successfully
- Exception: Processing failed
Each status is denoted by an icon, making it easier to quickly interpret item status during monitoring and production troubleshooting.
Queue Tables (Behind the Scenes)
Queue data is stored in the database. Commonly used tables include BPAWorkQueue, BPAWorkQueueItem, and BPAWorkQueueLog.
Blue Prism also provides views, most notably BPVWorkQueueItem, which is widely used for reporting and analysis. Direct interaction is rare, but awareness helps during audits and support.
Common Queue Design Patterns
Loader–Worker Pattern
- Loader adds items
- Worker processes items
Parent–Child Pattern
- Parent: batch item
- Child: individual work items
Here the Parent & Child Queue Concept is widely majorly in 2 scenarios i.e.,
- Batching: Each Parent Queue item hold certain batch of items that Child queue to work for i.e., 1 item in parent queue is certain (for ex:10) items in child queue.
- Reporting: For each session the items to be processed are loaded in parent queue and one reference item to that session is loaded in child queue – Here the child queue item is used for sending report where this child queue item get processed only after all items in parent queue that are loaded during given session are processed. For reporting purpose child queue items are always ‘Marked as exception’ so that if required those can be retried in future.
Both patterns improve scalability and maintainability.
Monitoring and Reporting
Queues provide insights into:
- Pending vs completed work
- Exception trends
- Throughput
Regular monitoring supports capacity planning and proactive support.
Common Mistakes to Avoid
- Overcomplicating loaders: Loaders should only add items, keeping all heavy logic in the worker process.
- Not using unique keys: Keys prevent duplicates and make queue tracking cleaner and easier.
- Retrying business exceptions: Only system errors should be retried; business exceptions should end cleanly.
- Creating long-running transactions: Break work into small, quick items to avoid timeouts and improve stability.
- Not marking items properly: Always mark each item as Completed or Exception to maintain accurate reporting.
Conclusion
Queue management plays a crucial role in your success with Blue Prism. It's a design mindset, not just a feature. If used correctly, queues make automations scalable, resilient, and easier to support. Mastering queues significantly improves solution quality and helps teams build production-ready automations. By following the best practices and guidelines outlined in this article, you'll be well on your way to becoming a queue management expert and unlocking the full potential of your Blue Prism automations.