Heartbeat - Heartbeat Requests


Once a Heartbeat has been configured HeartbeatRequests may be fired manually or via schedule automation. They request contains instructions that are sent over WCF to the Windows service on the target machine.

Heartbeat Request





Pending, Complete, Healthy, Degraded, Offline

Heartbeat Request Type

Information, Action

Execution Time

Time it takes for a Heartbeat Request to receive results in milliseconds

Dismissed Date


Dismissed By Person



Operational sequence

·         A scheduled event on support makes a WCF request to the Target site

·         A thread is spawned which creates an instance of the HeartbeatReporter class

·         It checks to see if the target machine’s heartbeat configuration in memory. If not it makes a web request to support to obtain the list of heartbeat operations is should conduct and caches that information.

·         It iterates through the heartbeats it is supposed to invoke.

·         If the heartbeat requires a QBO V3 AppDomain it will create the domain and instantiate the QBOV3 heartbeatplugin from within the app domain.

·         It will call the assemblies Invoke() method which will return a heartbeat result object which will be added to a heartbeatResultCollection in memory

·         The heartbeat results will be sent back to and update the Heartbeat request record and create a new heartbeat result record for each child heartbeat

·         The next time the support event is scheduled to run it checks against prior Heartbeat records to determine if an asynchronous HeartbeatResult was received from the previous request.

·         If it was not the heartbeat status requested is determined to be status offline, priority 1, indicating that the target machine has failed to report in.

·         Otherwise a new request is generated


A heartbeat result will be returned from the client machine for each HeartbeatItem associated with the heartbeat request.