Control Room & Scheduler

Expand all | Collapse all

Work Queue Design using multiple processes

  • 1.  Work Queue Design using multiple processes

    Posted 02-17-2020 05:08
    Edited by Simon Andre Pedersen 02-17-2020 06:43

    Hi All, 

    We are having many processes coming into our pipeline.

    Some of these processes would be sharing same panels in several applications.
    Therefore, we are working with the concept of reusable processes - handling panels in systems. 

    My question is how to design the Work Queues between Main Processes and the reusable processes
    How do I pass data back and forth from reusable processes in a best practice way.
    Assumption is already each panel can be processed independent of each other or at least subprocess will take care of this. 
    Another assumption is when a process is themed reusable it can or may be processed by standalone robots (scheduling) or simply be called by main process (through main process schedule). If it was just 10 cases from each we are talking about, then i would maybe just let the robot handle it, and maybe not create a sub queue. but potentially we got 100-500 cases going through some panels, while others is low volume. I in that scenario want to have dedicated robots processing those panels.

    So to give an example: 

    1. Process pick up a case from email, then it have to take each case through 2 systems,
      • System A got 7 panels
      • System B got 2 Panels
    2. Process pick up a case from email, then it have to take each case through 3 systems,
      • System A 2 Panels
      • System C 1 panel each
      • System D 1 panel each. 

    System A is the same, and between two of the processes they will be using 2 of the same panels. The input case itself is completely unrelated.

    Current Idea
    Current idea is to have a main work queue for each of the processes. These processes then need to create sub work queue items into multiple sub work queues that is being processed by the System A - Panel A,B,C,D,E,F processes e.g.

    • Process 1 Main Work Queue
    • Process 2 Main Work Queue
    • System A Panel X - Work queue
      • Work Queue Item tagged with Process 1
      • Work Queue Item tagged with Process 2
    • System A Panel Y - Work queue

    The Work queue items data in sub queues hold:
    • All panel data, that need to be extracted
    Main process monitor completion of sub queue data item and then extract the data needed to its own queue item upon completion.

    ------------------------------
    Simon Andre Pedersen
    Senior Associate
    PWC
    Asia/Hong_Kong
    ------------------------------


  • 2.  RE: Work Queue Design using multiple processes

    Posted 02-17-2020 15:50

    We changed our Idea and now implementing in a different way. 

    We are cutting down on the amount of work queues and connecting the Sub processes to the business processes more closely. We are verifying the scalability of our new approach.



    ------------------------------
    Simon Andre Pedersen
    Senior Associate
    PWC
    Asia/Hong_Kong
    ------------------------------



  • 3.  RE: Work Queue Design using multiple processes

    Posted 02-20-2020 10:34
    I would design the sub-processes (or wrapper objects - objects that have nothing in application modeller and are only used only to hold a sequence of actions from other objects) so that they have inputs and outputs, but no 'knowledge' of any queue. Child units that are designed to be used by a parent, eg Process1 or Process2. If there is a requirement for scheduling a child, then create a simple parent process to handle the queue, provide inputs to the child, and use any outputs to update the queue.

    ------------------------------
    John Carter
    Professional Services
    Blue Prism
    ------------------------------