Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...