Stardust.Node.Timers.TrySendStatusToManagerTimer.OnTimedEvent C# (CSharp) Method

OnTimedEvent() private method

private OnTimedEvent ( object sender, System.Timers.ElapsedEventArgs e ) : void
sender object
e System.Timers.ElapsedEventArgs
return void
		private async void OnTimedEvent(object sender,
		                                ElapsedEventArgs e)
		{
			if (JobQueueItemEntity == null)
			{
				return;
			}

			// All job progresses must have been sent to manager. 
			if (!_sendJobDetailToManagerTimer.HasAllProgressesBeenSent(JobQueueItemEntity.JobId))
			{
				return;
			}

			Stop();

			try
			{
				var httpResponseMessage = await TrySendStatus(new JobQueueItemEntity
				{
					JobId = JobQueueItemEntity.JobId
				}, _cancellationTokenSource.Token);

				if (httpResponseMessage.IsSuccessStatusCode)
				{
					var msg = string.Format("{0} : Sent job status to manager ({3}) for job ( jobId, jobName ) : ( {1}, {2} )",
					                        _whoAmI,
					                        JobQueueItemEntity.JobId,
					                        JobQueueItemEntity.Name,
					                        httpResponseMessage.RequestMessage.RequestUri);

					Logger.DebugWithLineNumber(msg);


					InvokeTriggerTrySendStatusSucceded();
				}
				else
				{
					Start();

					var msg =
						string.Format("{0} : Send status to manager failed for job ( jobId, jobName ) : ( {1}, {2} ). Reason : {3}",
						              _whoAmI,
						              JobQueueItemEntity.JobId,
						              JobQueueItemEntity.Name,
						              httpResponseMessage.ReasonPhrase);

					Logger.InfoWithLineNumber(msg);
				}
			}

			catch (Exception exp)
			{
				Start();

				var msg =
					string.Format("{0} : Send status to manager failed for job ( jobId, jobName ) : ( {1}, {2} )",
					              _whoAmI,
					              JobQueueItemEntity.JobId,
					              JobQueueItemEntity.Name);

				Logger.ErrorWithLineNumber(msg, exp);
			}
		}
	}