You can also have a look on my previous post notably on the subject.
Add transaction item will be useful you do no want to base your solution on a load & work design.
When adding a queue item, let’s say a bunch of invoices to process, is it just adding a representation key word e.g., number 6 invoice, and not the actual invoice file?
If item becomes transaction after it gets executed, why add/get transaction item? What is the need/reason for it?
In my thoughts, when I receive 100 invoices, I can just upload all of them, the original files(invoices) in a queue after putting the invoices into a shared folder, and then other machines can fetch a portion of them, we can say get queue item.
So, “Add queue item” & “Get queue item” are all we need to use the function queue. Why is the notion of transaction needed? Why did it first appear?
I believe that when you fetch a queue item, it becomes a transaction. This is why you will want to use Get Transaction Item to fetch a single queue item.
This will automatically set the status of that particular transaction (queue item) to In Progress in orchestrator.
Actually, there is no Get Queue Item activity. There is only Get Queue Items.
So that would be one reason
I believe the Get Queue Items activity allows you to process queue items in bulk, in case you need to do some modifications. If you want to act on one item from the queue for the purpose of processing that item, Get Transaction Item is much better.
@loginerror@Daun
Add Work Item adds an item to the Work Queue and the item waits for getting processed
Get Queue Item returns a processable item from the queue and changes with this the status indicating that is now in work, but you dont have control which one you get from pool
add transaction item adds an item changes the status, indicating thats is in process. you can directly continue to work with this item
Get Queue Items let you retrieve item based on different filter criterias
In newer Versions some enhancemets are available as well