Idea Details

Active Queue improvements

Last activity 04-10-2023 15:25
Walter Koller's profile image
By: Walter Koller
03-24-2023 11:48

It took us some time to understand the intention behind how Active Queue works and I think there are options for improvements that greatly enhance AQs.

The ideas is to enable continuous processing triggered by new queue items and without occupying a runtime resource al the time while doing nothing.

Short summary on how AQ currently work (please see documentation for general description):

The assigned processes have to have a Poll loop that keeps the process active all the time even when there are no queue items available. This is necessary since the runtime resource is removed from the Target Resource definition when the process stops.

Various AQ can share the same Resource Group and resources can be assigned by de-/increasing the number of Target Resources and AQ will take care of starting the correct processes.

The ideas for improvements:

  • Most important: AQ Target Resource definition does not decrement when a process stops working but stays as it was defined. This removes the need of the empty Poll loop but processes are started by AQ when needed. (And does not use a license for just polling and waiting)
  • Nice to have: Adding thresholds for parallel processing. Something like 'active one resource for each x numbers of items'. Meaning, if x=100, one resource should be used if there are less than 100 items in the queue. If there are <200 two resources should be used and with <300 three resources asf. This will increase efficiency for low amount of processes and very quick processes. Instead of spawning the process, opening the applications, possible login, or navigating to the correct windows... the resources with all the technical basics already done can focus on business related steps.
  • Nice to have: Assign Target Resources dynamically. This could be in combination with the parallel processing idea. Here the point is to set a min / max Target Resource value. min would set the number of resources being reserved for this AQ. Although there might no process running on this resource, it will not be used for other processes to ensure the queue will never be blocked completely. max sets the max number of concurrent processes of this queue running in parallel.
  • Nice to have but tied to the prev point: Dynamic assignment of Resource Groups. The idea is to allow the total number of max Target Resources be greater than the actual available resources. With resources are made available again when there is nothing to process this setting would create an automatic dynamic assignment of resources for most efficiency. All resources not claimed by an AQ (Target Resource min setting) are moved to a common pool. AQ takes resources from this pool in peak times and returns them at off-peak times, making them available for other AQ.
  • Nice to have but tied to the prev point: AQ prioritization. In times when several queues are processed and there are not enough resources to meet their max Target Resources demands, the AQ with the highest prio should create an event to a lower prio AQ to free a resources. This freed resource then can be claimed by the higher prio queue.

The first point is the most important one that would enable a lot of customers the use of Active Queues.


Ideas Portal

• Like this idea? Tap the up arrow!  Ideas with over 15 votes will be discussed with our product teams in our idea review meeting.
• Discussion is healthy! If you have a question or comment, don’t be afraid to jump in and start a discussion in the comments section below.
• Collaboration is the key to making magic happen!
New
This idea is new to the community and hasn’t been reviewed yet. While in the New stage, it is particularly important to vote and comment to further the discussion around this idea.
Duplicate
This idea already exists! A change to the Duplicate status will include a comment linking to the existing idea, so all voting and feedback can be collected in one place.
Need More Info
We’ve reviewed this idea, and determined we need a bit more info before deciding on how to move forward. An update to the Need More Info status will be accompanied by a comment explaining which additional details are needed. Ideas are still open for voting and comments while in the Need More Info stage.
Reviewed
We have all the info we need and are planning to review the idea for implementation feasibility and value added to the product. Ideas with this status are still open to community voting and discussion.
Under Consideration
We have all the info we need and are currently considering the feasibility of implementing this idea. Ideas in the Under Consideration status are still open to community voting and discussion.
Not Planned
We’ve reviewed this idea, and determined that it’s not feasible to implement right now. Ideas in the Not Planned status are no longer open for voting.
Planned
We’ve reviewed this idea and have determined that it will be delivered in the near future. Ideas in the Planned status are not attached to a binding timeline, but there is a concrete plan to implement this idea.
Planned-Now
We’ve reviewed this idea and confirmed that this is planned for delivery in the next 6 months.
Delivered
Congrats! Your idea has been accepted by the team and is now delivered! Give yourself a pat on the back – you contributed to the improvement of one of Blue Prism’s products or services!