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.
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.
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
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
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:
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.