Is there a way to ignore orchestrator entries with a duplicate value?

Hey,

I am working with a bot which is sending a value to the orchestrator (dispatcher to performer), but on some instances, this value is duplicated and so we’d like to stop it being processed.

I can’t add anything in the dispatcher to prevent this as sometimes it occurs on different runs. It runs every 5 minutes.

Is there a way I can get this to stop processing the same one twice? My colleague suggested adding a postpone activity to stop it triggering straight after and finding a way to remove a ‘New’ value.

Any input would be great, I’m a bit stuck!

Hi @dr1992

You can use unique reference on queue and if you try to add same item again it will throw an error

cheers

Hey, could you explain how this works please? The item already has a unique reference, but it doesn’t error?

Hi

When you create the Queue in Orchestrator you can choose the setting “Unique Reference” and you can also choose if retry is enabled and the number of retry attempts.

Does this post help?

Cheers

Steve

Hi @dr1992 ,

What’s the value you’re asking? Is it queue item value?

Hi @dr1992

How do you know that the item is duplicate?

Which are fields you want to verify add all of them to reference …then it will work

Cheers

It is part of it, yes.

So it is ‘Customer name - Quote Number’ but if quote number is duplicated then we don’t want to process it.

So the reference is ‘Customer name - Quote Number’, but if quote number is duplicated then we don’t want to process it.

Hi @dr1992

Then change the reference to ‘Quote Number’ so that when you try adding same item it fails and you can catch it by try catch or ignore by using continue on error property.

Alternately when you get the queue item,add a if condition and you can check using get queue items if there is any queue item already processed with same quote number by using property Reference ‘startswith’ by changing reference like this ‘Quote Number - Customer name’ and stop processing the item if found

cheers

The issue is that it might already be in the queue from a previous run.

@dr1992

then go with second approach that whenever you get an item check for compelted items with same reference and if found check if they are processed today and if so stop the process orelse continue the process

cheers

@dr1992

Got it…simply store the Reference Number of each queue item you process in an Excel file or where ever you like.

When you’re going to process any queue item, check if the Quote Number of this queue item exists in the stored Reference Numbers (which I mentioned above)…If it exists, that means it’s repeated and simply don’t process further.

You can get the Reference Number of your Queue item as:

TransactionItem.Reference

In case of confusion, do let me know.

I had similar situation where I tackled with below approach at Dispatcher level.

Before adding any queue Item to the Queue -
GetQueueItems with In-Progress/New Queue Items with a unique reference. If any QueueItems returned, skip adding queue item else, add the queue item.

Hope this will work for you.
Happy Automation :slight_smile:

This sounds like what I need, I didn’t know this existed. Excuse my ignorance, what exactly do I need here to do as you described? (I’m a noob lol)

The highlighted is the customer name and quote number which is the unique reference and I set it to new and in progress as suggested.

So what else do I need to add here in order to get this to work? The add to queue is below it. Thanks for your help!

I was able to use a bool value to check if this item was in here, thanks for your help.

Glad it helped. Happy Automation🤖

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.