Table of Contents |
---|
Scope
- Use Case:
- A Consider the situation where a number of orders that have been added to a job chain - either from a file order source watching incoming files, from Ad Hoc orders or from permanent orders - and that these orders should be forced into serialized processing in with a predefined sort sorting order.
- Solution Outline:
- A single job is added to at the top start of a job chain and that will:
- suspend all incoming orders and check completeness until a predefined idle timeout is has beens reached and no more orders are expected,
- sort the orders in alphabetical sequence of according to the order id ID and move them to the next job node in the job chain.
- A single job is added to at the top start of a job chain and that will:
- References
...
- Download sort_orders.zip
- Extract the archive to any folder within the
./config/live
folder of your JobScheduler installation. - The archive will extract the files to a folder folder named
sort_orders.
- You can store the sample files to a in any folder as you like, the solution does not make use of specific folder names or job names.
Pattern
Flowchart |
---|
job_chain [label="Job Chain\ntriggered by File Orders\nor by Ad Hoc Orders",fillcolor="orange"] job_sorter [label="Job Order Sorter",fillcolor="lightskyblue"] job_next_job [label="Next Job", fillcolor="lightskyblue"] sorter_orders_completed [shape=diamond,label="list of orders completed?",fillcolor="white"] order_suspend [label="Suspend Order",fillcolor="white"] order_wait [label="Wait for next Order",fillcolor="white"] order_sort [label="Sort Orders",fillcolor="white"] order_move [label="Move Orders to Next Job",fillcolor="white"] order_C [shape="ellipse",label="Order C",fillcolor="violet"] order_B [shape="ellipse",label="Order B",fillcolor="violet"] order_A [shape="ellipse",label="Order A",fillcolor="violet"] sorted_order_A [shape="ellipse",label="Order A",fillcolor="violet"] sorted_order_B [shape="ellipse",label="Order B",fillcolor="violet"] sorted_order_C [shape="ellipse",label="Order C",fillcolor="violet"] order_A -> job_chain order_B -> job_chain order_C -> job_chain job_chain -> job_sorter job_sorter -> sorter_orders_completed sorter_orders_completed -> order_sort [label=" yes "] sorter_orders_completed -> order_suspend [label=" no "] order_suspend -> order_wait -> job_sorter order_sort -> order_move -> sorted_order_C sorted_order_C -> sorted_order_B sorted_order_B -> sorted_order_A sorted_order_A -> job_next_job |
...