Skip to main content

Flow Priority

In the settings for flows and templates, you can set the priority of a flow. This is important in large projects that occasionally put a strain on the router: If no worker thread is currently available, the priority determines which waiting flow will be processed next.

What the priority does—and what it doesn’t do

The OPC Router executes each transfer on a worker thread. By default, it has 80 of these available, plus 5 additional ones that are reserved exclusively for high-priority flows. There is a separate queue for each of the three priority levels.

  • Queue Priority: The 80 general worker threads process high-priority flows first, followed by normal-priority flows, and then low-priority flows.
  • Additional Worker Threads: The 5 reserved worker threads accept only high-priority flows. This ensures that these flows are still processed even when all general worker threads are busy.
  • No Preemption: A transfer that is already in progress is never interrupted, regardless of the priority of the waiting flow. Even a high-priority flow must wait until a worker thread becomes available—it simply gets one sooner than the others.

For details on how a transfer works and why it can occupy a worker thread for an extended period of time, see . For information on how a flow is executed, see .

Priorities

PriorityDescription
High PriorityHigh-priority flows are executed most reliably when the router is under heavy load. They are suitable for time-critical tasks, such as alarm and event management or the synchronization of time-critical systems like production lines.

Note: If the reserved worker threads are also permanently occupied by high-priority flows, flows of the other priority levels will no longer be processed.
Normal Priority (Default)Flows with normal priority are suitable for tasks that are not time-critical, such as logging or the synchronization of non-time-critical systems like databases.

Note: As long as all worker threads are occupied by high- and normal-priority flows, no low-priority flows will be executed.
Low PriorityLow-priority flows are suitable for tasks that are not time-critical and for which longer delays are not a problem, such as archiving data or deleting old data.
tip

Use high priority sparingly: It provides an advantage only as long as few flows have it. If all flows have the same priority level, there is no longer any priority.