HeartbeatRequests
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
|
Label
|
Heartbeat
|
|
Status
|
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
HeartbeatResult
A heartbeat result will be returned from the client machine
for each HeartbeatItem associated with the heartbeat request. |