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-2108Getting 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:
Name | Value |
---|---|
High | 20000 |
Aboive Normal | 10000 |
Normal | 0 |
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.