Introduction

Orders can be assigned priorities that allow to bypass other orders.

  • Priorities are considered when orders are waiting for JS7 - Resource Locks. They allow to advance in the queue of waiting orders.
  • Priorities can be assigned when creating orders from schedules and when adding ad hoc orders on demand,
  • Priorities can be modified at any point in time in the life of an order.

When creating child orders from the JS7 - Fork-Join Instruction or JS7 - ForkList-Join Instruction, then child orders will inherit the parent order's priority. This similarly applies when adding orders from the JS7 - AddOrder Instruction

JS-2108 - Getting issue details... STATUS

FEATURE AVAILABILITY STARTING FROM RELEASE 2.8.0

Managing Order Priorities

Priorities are assigned from integer values:

  • A higher number represents a higher priority.
  • The default priority value is 0 (normal).
  • The range is from -2147483648 to 2147483647.

The JOC Cockpit offers a few commonly used default priorities with more speaking names than using integers:

NameValue
High20000
Aboive Normal10000
Normal0
Below Normal-10000
Low-20000

Users are free to apply the default priorities or to add integer values to specify priorities.

Adding Order Priorities from Schedules

Order Priorities can be added from a schedule in the Configuration -> Inventory view like this:

Adding Order Priorities on Demand

Order Priorities can be assigned when adding ad hoc orders from the Workflows view like this:

Modifying Order Priorities

Order Priorities can be modified from an order's action menu in any JOC Cockpit view like this:


Order Priorities can be modified from bulk operations, for example in the Dashboard -> Orders Overview view like this:


When selecting orders and clicking the "Modify Priority" button, then assignment of a common priority is offered like this:


As a result, selected orders are assigned the new priority:

Examples

Examples for use with Unix OS are available for import from the following archive file: order_priorities.zip

See JS7 - Inventory Export and Import for details.

Use with Exclusive Resource Locks

The example makes use of 

  • 3 gates implemented by exclusive Resource Locks each holding a capacity of 1.
  • 1 workflow using the exclusive Resource Locks. In gate 1 a job is running for 10s, in gate 2 for 5s and in gate 3 for 3s.
  • 10 orders that will be added from the launcher workflow like this:
    • 2 orders with low priority start immediately
    • 2 orders with below norrmal priority start with a delay of 2s
    • 2 orders with norrmal priority start with a delay of 4s
    • 2 orders with above norrmal priority start with a delay of 6s
    • 2 orders with high priority start with a delay of 8s

As a result, orders will complete the workflow in the following sequence:

  • The first low priority order wins as it has a lead in start time that cannot be overtaken
  • Then follow both high priority orders, both above normal priority orders, both normal priority orders, both below normal priority orders.
  • Finally the second low priority order completes.

Use with Shared Resource Locks

The example makes use of 

  • 3 gates implemented by shared Resource Locks each holding a capacity of 12.
  • 3 workflows using the shared Resource Locks at a weight of 6. In gate 1 a job is running for 10s, in gate 2 for 5s and in gate 3 for 3s.
  • 15 orders that will be added from the launcher workflow like this:
    • 3 orders with low priority start immediately
    • 3 orders with below norrmal priority start with a delay of 2s
    • 3 orders with norrmal priority start with a delay of 4s
    • 3 orders with above norrmal priority start with a delay of 6s
    • 3 orders with high priority start with a delay of 8s

Implementation of the workflows using shared Resource Locks is similar to the ones using exclusive Resource Locks.

As a result, orders will complete the workflow in the following sequence:

  • The first 2 low priority orders win as they have a lead that cannot be overtaken. The shared Resource Lock allows to orders to proceed through the gate at the same time.
  • Then follow 2 high priority orders, 1 above normal priority order and the third high priority order. The sequence is due to delay in start times.
  • Then follow 2 remaining above normal priority orders, 3 normal priority orders, 3 below normal priority orders.
  • Finally the remaining 1 low priority order completes.



  • No labels