Need a solution

Hi Team,

An excel containing Identification number (ID NUM) column and value. It has multiple rows for ID 001, ID 002, ID 003, … ID 16. E.g, if the sheet contains 1000 rows, there will be 500 num of ID 001 and some 250 records of ID 002 and some 700 records of ID 005 etc… ( its not so mandatory that all 16 ID NUM should be present). I can upload all those 1000 rows in to one queue say “ID Num Queue”

Issue here is, one bot can perform only one ID NUM record. E.g if BOT 01 is performing one record of ID 001 record, the BOT 02 should not perform another record of ID 001. similarly the same for other ID NUM as well. Ideally, the queue has mixed records of ID 001 … ID 016. and how can i process all 1000 records in parallel with some 5 bots. please help me in designing this approach.

image

Thanks,

Hi @Shirish - I think you can split the records based on ID and create multiple queues to upload each IDs into the specific queue for each BOT to process based on the IDs.

Regards,
AK

ok Thank You. then we need to create many queue, datatable and many BOT which may not be good option. We need an optimized solution.

Use “Get Queue Items” activity.

  1. Bot 01 starts
  2. Use get queue items activity to set the first item with ID001 to high priority (assuming priority is medium by default)
  3. Get Transaction Item should then retrieve the first item with ID001
  4. Bot 02 starts
  5. Use get queue items activity to set the first item with ID002 to high priority
  6. Get Transaction Item should retrieve the first item with ID002
  7. Bot 03 starts
  8. Rinse, repeat

No. You have to do it in a way, since you have only 5 BOTs then create only 5 Queues. However split your input based on the IDs. For the first 5 IDs upload it in those Queues. Then repeat the same for until all the IDs has been loaded into each of the 5 queues.

Thanks,
AK

I think you’d have to make a queue for each ID - I just cant see any other way. I’d probably make a queue for each ID as well as a boolean asset for each ID.

Create your workflow so it works sequentially through each of the queues. Before grabbing an item from the queue, it should check the boolean asset. If True, get item from that queue. If false, move onto the next queue. As soon as it picks up an item it should update the asset to flip the boolean from true–>false. Then have it pick up all the transactions in that queue. Once the queue is empty, flip the flag back to true and move onto the next queue. Repeat this until all queues are empty