Desktop Client: How are queues affected by Priority and Preempt transaction attributes?
This article applies to iGrafx Process and iGrafx Process for Six Sigma Client tools
Priority and Preempt can affect which transaction waiting in a queue is processed first. Every transaction created has Priority zero by default, and Preempt of False. The "Priority and Preempt Transaction Attributes" topic in the iGrafx Help provides further details of how Priority and Preempt affect transactions waiting in queues. We recommend you read that section of the Help.
In addition, some other sections of the Help may also provide useful:
- In the "Transactions Queued at Activities" topic, the Help says "The highest priority transactions are at the head of the input queue."
- The Help also says "Resource Availability - Transactions may queue at an activity until certain resources become available. In this case, the queueing rules for that resource apply."
- Also "When transactions wait due to resource availability, they arrange in the queuing method order specified in the swimlane the resource is allocated to in the Define Resources dialog box - Organizations tab."
So there are queuing rules for transactions and how they line up at inputs or to request a resource, and Priority affects both. So even if you ask that they line up in LIFO order for a resource, that's only while waiting for that resource, and Priority will affect the order within that queue method.
In addition, if you see 'preempted' for a resource on a selected transaction while running Trace, it may mean the resource has been 'preempted' (forced) away from its task by some condition, e.g. a scheduled interruption (Out Of Service time, or is no longer in schedule). So it is possible to see 'preempted' because the schedule has forcibly removed the resource from doing work on the task, even if T.Preempt is False. If you see a resource preempted while it is in schedule, then that should only be from T.Preempt being True.
Finally, please see the attached file for an example of assigning a random value to Priority and Preempt, and use Trace mode to observe how this affects the order that transactions are processed.