Get queue data without changing status

i_completed
orchestrator

#1

i am looking for facility in queue to read a data but not change status to in progress. my requirement is to only process a data if it matches a criteria lie reference ID


#2

In this case you can put it back in the queue using postpone_transaction_item.


#3

when i use post pone it will not be accessed using any activity in studio,

Business Case :
Step 1 . Items added to Queue
Step 2 . I check for a value of an item in queue belong to specific reference ID( say 10 queue items) and finish processing them all before picking up other reference item
Step3 - After processing items of specific reference ID will send email as response


#4

?

  1. Get Transaction Item
  2. Check Reference
    3.a Postpone Item
    3.b Process and Set Transaction Status

#5

thanks. i will try this way of getting item and incase doesn’t match to post pone it


#6

this is a good workaround where i need to specify a post pone datetime value. this will force me to post pone to some time value which has to be assumed


#7

since that’s a queue (first in first out) if you don’t pospone the item will be retrieved back immediately


#8

Vía API, you can retrieve all the items in queue only to check, and it doesnt affect the status at all…
Try using the HTTPRequest activity, and making the query over the QueueItem dto (it sounds complicated at first but you will see that is possible)


#9

…but this won’t help you. retrieving them in read only will not start a transaction.


#10

i am trying to compare the RPA tools and feel Queue in UIPath to be improved to the level Blue Prism is today :slight_smile:


#11

@badita I have a question here. Say there are two items in the queue and my logic postponed the first item by 5 min. However, if my second job runs in 2 min time, is there a way I run the first item immediately not waiting till the postponed time?


#12

Yes, try to process them in the same job. Check the transactional business process or ReFramework.

Start Job
While (queueItems)
{
GetItem
(SomeLogic)
}
EndJob