public async Task <IActionResult> Post([FromBody] BaseComponentViewModel heartbeatViewModel)
        {
            try
            {
                var id = Guid.Parse(heartbeatViewModel.ModuleId);

                var heartbeat = new Heartbeat
                {
                    ModuleId = id,

                    State = heartbeatViewModel.State
                };

                await HeartbeatRepository.CreateHeartbeat(heartbeat);

                await ModuleRepository.UpdateModuleHeartbeat
                    (new Module(id, heartbeatViewModel.State));

                return(Ok(heartbeat));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);

                return(BadRequest(new ErrorResponse(ex)));
            }
        }
Beispiel #2
0
 private void WriteLog(PulseEventSource pulseEventSource, HeartbeatStatus status, string logText)
 {
     if (HeartbeatConfiguration.Current.Enabled)
     {
         var log = new HeartbeatLog();
         log.LogDate             = DateTime.Now;
         log.Status              = status;
         log.HeartbeatInstanceId = HeartbeatInstanceId;
         log.ComponentTypeName   = _intiatingTypeName;
         log.LogText             = logText;
         if (pulseEventSource != PulseEventSource.Count)
         {
             log.PulseTimerInterval = PulseTimerInterval;
             log.TimerPulseNumber   = _timerPulseNumber;
             log.TimerMilliseconds  = _timerMilliseconds;
         }
         if (pulseEventSource != PulseEventSource.Timer)
         {
             log.PulseCountInterval = PulseCountInterval;
             log.CountPulseNumber   = _countPulseNumber;
             log.CountNumber        = _count;
         }
         HeartbeatRepository.WriteHeartbeatLog(log);
     }
 }
Beispiel #3
0
 /// <summary>
 /// Static constructor - initialises data context
 /// </summary>
 static Heartbeat()
 {
     if (HeartbeatConfiguration.Current.Enabled)
     {
         //run a dummy query to warm up EF:
         HeartbeatRepository.GetHeartbeatLogs(new Guid());
     }
 }