cancel
Showing results for 
Search instead for 
Did you mean: 

advance Queue Designs

SamLima
Level 7

I don't get the idea of Parent/Child Queue, Real-time work requests and using workflow systems from LMS 

Could anyone please explain them in differents way



------------------------------
Sam Lima
------------------------------
1 BEST ANSWER

Best Answers

Hi Sam,

When we talk about parent child queue relationships, you think of it like this parent queue is a queue that is going to be my reference queue and child queue will be queue that will have individual data items mapped to each work item of my parent queue.

Let me give an example, suppose I have an automation where let say in an input folder location you get 50 excel files and each of those file consists of 100 data items each. So in total you have like 5000 (50 * 100) data items per day coming in as inputs for your process. So now in such a case if you wish to employ parent-child queue relationship then you can do so by assigning work items for each file in the parent queue with the 'Key Name' field as the file name for each excel file. So you will basically end up with 50 items in parent queue where the 'Key Name' for each item will give the file name for which the item got created.

Now, in the child queue we will have each work item related to the data stored inside each file with 'Key Name' as the key name of the parent queue separated by hyphen after which we can have any primary column of the dataset. So this queue will have 100 items each for all 50 work items in the parent queue.

For example, if the dataset consists of four column called 'ID', 'Name', 'Age' and 'Class' with primary key being the 'ID' column which can range between 001 and 100 then we can have the parent queue structure as:

Item                |    Key Name
Work Item 1  |    Test1.xlsx
Work Item 2  |    Test2.xlsx
.
.
.
.
Work Item 50  |   Test50.xlsx


Child Queue item will have the following structure:


Item                |    Key Name
Work Item 1  |    Test1.xlsx - 001
Work Item 2  |    Test1.xlsx - 002
.
.
.
.
Work Item 5000  |   Test50.xlsx - 100

While creating and handling the items in your workflow ensure that once all the items of a child queue related to the reference parent queue has been processed (either in exception or completed) state your parent queue item must always be marked as completed.

For example, if let say the following child items have been processed:

Work Item 1  |    Test1.xlsx - 001 (Completed)
Work Item 2  |    Test1.xlsx - 002 (Exception)
.
.
.
Work Item 99  |    Test1.xlsx - 99 (Completed)
Work Item 100  |    Test1.xlsx - 100 (Exception)

Then we need to mark the following item in parent queue as completed:

Work Item 1  |    Test1.xlsx (Completed)

You can refer to the following thread as well for more such insights that I've provided: Queue Best Practices and let me know as well in case you need any further clarity,

------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please provide a big thumbs up so that the others members in the community having similar problem statement can track the answer easily in future.

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------

View answer in original post

9 REPLIES 9

Hi Sam,

When we talk about parent child queue relationships, you think of it like this parent queue is a queue that is going to be my reference queue and child queue will be queue that will have individual data items mapped to each work item of my parent queue.

Let me give an example, suppose I have an automation where let say in an input folder location you get 50 excel files and each of those file consists of 100 data items each. So in total you have like 5000 (50 * 100) data items per day coming in as inputs for your process. So now in such a case if you wish to employ parent-child queue relationship then you can do so by assigning work items for each file in the parent queue with the 'Key Name' field as the file name for each excel file. So you will basically end up with 50 items in parent queue where the 'Key Name' for each item will give the file name for which the item got created.

Now, in the child queue we will have each work item related to the data stored inside each file with 'Key Name' as the key name of the parent queue separated by hyphen after which we can have any primary column of the dataset. So this queue will have 100 items each for all 50 work items in the parent queue.

For example, if the dataset consists of four column called 'ID', 'Name', 'Age' and 'Class' with primary key being the 'ID' column which can range between 001 and 100 then we can have the parent queue structure as:

Item                |    Key Name
Work Item 1  |    Test1.xlsx
Work Item 2  |    Test2.xlsx
.
.
.
.
Work Item 50  |   Test50.xlsx


Child Queue item will have the following structure:


Item                |    Key Name
Work Item 1  |    Test1.xlsx - 001
Work Item 2  |    Test1.xlsx - 002
.
.
.
.
Work Item 5000  |   Test50.xlsx - 100

While creating and handling the items in your workflow ensure that once all the items of a child queue related to the reference parent queue has been processed (either in exception or completed) state your parent queue item must always be marked as completed.

For example, if let say the following child items have been processed:

Work Item 1  |    Test1.xlsx - 001 (Completed)
Work Item 2  |    Test1.xlsx - 002 (Exception)
.
.
.
Work Item 99  |    Test1.xlsx - 99 (Completed)
Work Item 100  |    Test1.xlsx - 100 (Exception)

Then we need to mark the following item in parent queue as completed:

Work Item 1  |    Test1.xlsx (Completed)

You can refer to the following thread as well for more such insights that I've provided: Queue Best Practices and let me know as well in case you need any further clarity,

------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please provide a big thumbs up so that the others members in the community having similar problem statement can track the answer easily in future.

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------

@devneetmohanty07 Thank You so much it is so clear now,

could you please explain Real-time work requests and using workflow systems approaches?



------------------------------
Sam Lima
------------------------------

@devneetmohanty07

I don't understand this part with red brackets from LMS course

34112.png



------------------------------
Sam Lima
------------------------------

Hi Sam,

So ideally what the bracket part says is that when you have added all the child items which in our case were let say the below items:

Work Item 1  |    Test1.xlsx - 001 
Work Item 2  |    Test1.xlsx - 002 
.
.
.
Work Item 99  |    Test1.xlsx - 99 
Work Item 100  |    Test1.xlsx - 100 

After the above items are added to the child queue, then you simply add an item to the parent queue such as:

Item                |    Key Name
Work Item 1  |    Test1.xlsx

And once the parent queue item has been added, you can just update the tags for all the child items as 'Parent Created' so that they look something like this:

Item                |    Key Name             |   Tag
Work Item 1  |    Test1.xlsx - 001   |  Parent Created
Work Item 2  |    Test1.xlsx - 002  |  Parent Created
.
.
.
Work Item 99  |    Test1.xlsx - 99  |  Parent Created
Work Item 100  |    Test1.xlsx - 100  |  Parent Created


So basically this way whenever you are using 'Get Next Item' action, you can use a tag filter such as "Parent Created" in order to only retrieve and process such child items which have a parent item created so that you do not accidentally process any child item without a parent which are also called as 'Orphaned Items'.

------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please provide a big thumbs up so that the others members in the community having similar problem statement can track the answer easily in future.

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------

@Devneet Mohanty

Sorry for frequent questions. but I don't understand the way of creating Parent/Child Queues on LMS, What I got that they want to create and fill The Child queue then tag them then create Parent Queue

Is this right?

and why they tagged the times after adding them to queue, why not tag them while adding them to queue via tag field?



------------------------------
Sam Lima
------------------------------

@devneetmohanty07 Do you have an already made process for implementing LMS method so I can observe it in a better way?


------------------------------
Sam Lima
------------------------------

Hi Sam,

No worries at all, I would instead suggest you keep posting till your doubts are all cleared up 🙂

Well there is a bit of misunderstanding I think there, you said that you got it like: "What I got that they want to create and fill The Child queue then tag them then create Parent Queue"

It actually is more like: "Create and fill The Child queue then create Parent Queue item which corresponds to those child items and then tag the child items with the 'Parent Item Created' tag name"

and why they tagged the times after adding them to queue, why not tag them while adding them to queue via tag field? :- This is because you are first creating the child items and by that time no parent queue item has been created. Think of this way what if you create all the child items and while adding them you put a tag as well but for some reason while creating the parent queue item some error or exception occurred. Well then your entire logic would stand incorrect right? You would have child items with tag called as "Parent Created" where in reality the parent item does not exists because of some exception that occurred. And now if you have to create a logic to again untag all those items via exception handling it is again going to make your process so much complicated. So better approach is first ensure that the parent item in reality has been created properly and then only you add the tags to the child queue items.




------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please provide a big thumbs up so that the others members in the community having similar problem statement can track the answer easily in future.

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------

Hi @devneetmohanty07

could you please check my message





------------------------------
Sam Lima
------------------------------

Hi @SamLima,

I am provided the sample workflow in the following thread: Parent Child Queue Relationship Process

------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
Wonderbotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please provide a big thumbs up so that the others members in the community having similar problem statement can track the answer easily in future.

Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------