Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA Pipeline Operations for Liquids

Understand Virtual Flow Computer global process settings

Understand Virtual Flow Computer global process settings

  • Last UpdatedApr 24, 2025
  • 3 minute read

Note: For information on overriding default configuration settings, see Modify configuration settings.

The global settings for AVEVA Pipeline Operations for Liquids applications are set in the AVEVA Pipeline Operations for Liquids configuration .JSON file located in:

%DNAInstallRoot%\RealTime\config\Settings\LMS.RealTime.json

The Virtual Flow Computer (VFC) settings content is within the LMS > VirtualFlowComputer section.

The settings from this file are installed as part of the AVEVA Pipeline Operations for Liquids installation process. Normally, you do not need to change these settings. If you do need to adjust this file, you must restart the RealTime service for the changes to take effect.

The following example details the default settings in the file:

"VirtualFlowComputer": {

"ApplicationThreadProcessorSleepTimeSpan": "00:00:02.500",

"CheckIn": true,

"CheckinSleepInterval": "00:00:30.000",

"CriticalProcess": true,

"RestartProcessOnUnexpectedExit": false,

"CheckinTimeout": "00:01:00.000",

"StartUpDelay": "00:00:30.000",

"PubSubReceiveQueueSize": 50000

},

The time span denoted by hh:mm:ss.fff patterned strings above represents the following:

  • hh = number of hours, which ranges from "00" to "23"

  • mm = number of minutes, which ranges from "00" to "59"

  • ss = number of seconds, which ranges from "00" to "59"

  • fff = fractional seconds

Where:

  • ApplicationThreadProcessorSleepTimeSpan is a time span value indicating the period that the Virtual Flow Computer's primary processing loop will wait before starting the next cycle of operations—the default is 2.5 seconds, with a minimum of 500 milliseconds.

  • CheckIn is a true/false value indicating whether or not the Virtual Flow Computer should check into the RealTime Process Monitor at startup.

  • CheckinSleepInterval is a time span value indicating the time between each attempted check-in by the Virtual Flow Computer (only applicable when CheckIn is true)—the default is 30 seconds, with a minimum of 500 milliseconds.

  • CriticalProcess is a true/false value indicating whether or not the Virtual Flow Computer should check into RealTime Process Monitor as a critical process (only applicable when CheckIn is true).

  • RestartProcessOnUnexpectedExit is a true/false value indicating whether the Virtual Flow Computer should restart and check into RealTime Process Monitor as a process to restart on unexpected exit (only applicable when CheckIn is true).

  • CheckinTimeout is a time span value indicating the time between check-ins before the Virtual Flow Computer process is declared dead (only applicable when CheckIn is true)—the default is 1 minute, with a minimum of 500 milliseconds.

  • StartupDelay is a time span value indicating the period that the Virtual Flow Computer's primary processing loop will wait before beginning operations—the default is 30 seconds, with a minimum of 500 milliseconds.

  • PubSubReceiveQueueSize is an integer value indicating the size of the PubSub receive queue. The size of this queue is a function of the number of configured Virtual Flow Computers, the number of configured accumulators, and the number of topics. The default (and minimum) is 50000 and the size can be calculated as follows:

    S =

    ((Number of virtual flow computers x 1 topic per virtualflowcomputer) +

    (Number of accumulators x 3 topics per accumulator)) x 1.10

    PubSubReceiveQueueSize = S rounded up to the nearest 10,000

    Notes: AVEVA recommends that the value of PubSubReceiveQueueSize be tested by performing a few failover scenarios to ensure connectivity between the standby and hot servers. An insufficient queue size will cause the system to disconnect from the PubSub service. A disconnected state is not recoverable and will trigger a failover to the standby server. When the disconnection from PubSub occurs, it is accompanied by the following log error message:

    ERROR - Application VirtualFlowComputer (pid N) has been declared too slow.

    If the above error log message persists after using the calculated value for PubSubReceiveQueueSize, multiply the calculated value by a factor of two, restart the RealTime service and retest the same failover scenarios. You may need to perform a few iterations of adjusting the value and testing the failover scenarios until no errors occur.

    It is recommended that you perform this test again whenever a large number of assets are added to the system.