Time difference queue activities

Hi,
Will there be lot of run time difference if I do “Bulk Add queue items” vs “Add queue item” and also “Get Transaction item” vs “Get queue items”

Thank you,

@A_Learner

If the transaction number is more and what you need toa dd is a datatable then instead of iterating you can go with bulk add and yes obviously there would be a difference…as bulk add makes one call and add queue item makes one call for eqch transactiona and also loop needs to run

Coming to get queue items and get transaction item…the usage itself is different…get transaction item can get only one item and new items and also changes the status to in progress automatically

On the other hand get queue items will get multiple items at once and can get any status items and there is no change in status

Cheers

1 Like

Hi A_Learner,
Here you can find the definition for each activiy that you mention:

  1. Bulk Add Queue Items A Activity: Adds a collection of items from a specified DataTable to a specified queue in Orchestrator. Once added to the queue, the items’ statuses are changed to New .
  2. Add Queue Item Activity: Adds a new item in an Orchestrator queue. The status of the item will be New. An example of how to use this activity is available here.
  3. Get Transaction Item Activity: Gets an item from the Orchestrator queue so that you can process it (start the transaction) and sets its status to In Progress. Starting its processing makes it a transaction.
  4. Get Queue Items Activity: Enables you to retrieve a list of up to 100 transactions from an indicated Orchestrator queue, according to multiple filters, such as creation date, priority, state, and reference. Obtaining a different set is possible with the use of Pagination properties.

Cheers!!

1 Like

Yes there is a time difference. How much time difference depends on how many items you’re trying to add. Bulk Add is better than looping and individually adding.

You should always use Get Transaction when you’re going to process an item. Get Queue Items is incorrect. Get Transaction will set the queue item to In Progress and also prevent other jobs from grabbing the same queue item - Get Queue Items won’t.

1 Like

Generating replies with AI isn’t helpful, and IMO should be against the rules here. It’s not helpful.

@postwick Bulk add is not allowing unique reference. That is why I am doing add queue item? Can you advise? Thank you,

Hi @A_Learner

Only to complement, prefer use Bulk Add Queue Items always you have a prepared collection of data to upload to the queue to maximize efficiency and use Commit Type field to control the behavior (All or Nothig) and Result output field to check for some error (in case Process All Independently) if you don’t have specifc need to add them Independently

note that orchestrator accepts only 15000 lines for each Bulk call.

@A_Learner

add a column called reference in your datatable and add for it unique references for each row before add them using Bulk Add Queue Items

The specific need is to add unique reference.
When I do not want the bot to re-load the same data to the queue.

What does “queueitems.any = false” do?
Does it check to see if the queue has any items left? Or does it check to see if it has the same items?

Thank you,

@A_Learner

.Any method is use to check if any item was return by Get Queue Items(when you are checking for item with the same reference). If at least 1 item was retrived, the result of the expression is True. Otherwise, false

So queueitems.any = false it’s telling you “There is no item with the given reference”

But for Bulk strategy, you can add a column with name “reference” and add into the unique reference for each row

@rikulsilva
I am not getting. Can you elaborate please? Thank you,

You can put Reference as a column in the datatable you’re passing to Bulk Add Queue Items. If you’re using Unique Reference, make sure you have Bulk Add set to “process all independently” for the “Commit Type”

1 Like

So if I have a datatable employeid, first name, last name.
I need to add another column named reference to this datatable?
What is the value or data type for this column.
And I can use Bulk Add queue items for the above datatable?

Thank you,

Sure

You have 2 option to set reference when adding queue items

Add Queue Item Activity → Reference Field

Bulk Add Queue Items → The given DataTable needs to has a column with name “reference”

image

For Bulk Activity, you have the Commit Type

All or Nothing → Any row that can’t be added, the activity will throw an error and no queue items will be added

Process All Independently → treats all separately and the Result Output Field will returns all errors that occurred during the process, storing them in a DataTable variable without throw an error. So if any duplicates or error occurs in Bulk Add Queue Items, the result will be stored in Result output Field and you can check it if you needed to

1 Like

Thank you, so much @rikulsilva

Yes you simply add a column named Reference. Datatype of the Reference column is String. The value is up to you just like it would be if you were using Add Queue Item. After adding the Reference column with Add Data Column, loop through your datatable and set the Reference value for each row. Then give that datatable to Bulk Add Queue Items.

1 Like

I plan to use employee id as reference.

Thank you,

1 Like

So, can I get the column with TransactionItem.specificContent(“reference”).ToString

No, Reference isn’t part of SpecificContent. It’s part of the queue item object itself. You get it with yourQueueItemVar.Reference

For any variable you can always just type it into an expression box and then type a . at the end to see all the properties.

image

But the real point to the Reference is you can use it for filtering with Get Transaction or Get Queue Items, and also enforce unique reference on the queue itself (setting in Orchestrator) so that duplicate items cannot be added to the queue.

1 Like

So @postwick
I plan to use reference in my process, just like a column name that is employee ID, Is that something correct? Any issues with that?

Thank you,