Example #1
0
        private async Task ExecuteTriggersAsync(Job job, SilenceTime silence, Log log)
        {
            try
            {
                if (silence.IsSilenceNow(log.DateTime))
                {
                    Trace.WriteLine("Start triggers for a job: " + job.Name);

                    silence.SetUntil(log.DateTime + job.FailureSilenceInterval);

                    var tasks = new List <Task>();

                    foreach (var trigger in job.GetTriggers())
                    {
                        tasks.Add(trigger.ExecuteAsync(log, silence));
                    }

                    await Task.WhenAll(tasks);

                    silence.ResetCounter();
                }
                else
                {
                    Trace.WriteLine("Mute triggers for a job: " + job.Name);
                    silence.IncreaseCounter();
                }
            }
            catch (Exception exception)
            {
                await SystemLogRepository.SaveAsync(exception, $"Unhandled trigger error. Job = [{job.Name}].");
            }
        }
Example #2
0
		private async Task ExecuteTriggersAsync(Job job, SilenceTime silence, Log log)
		{
			try
			{
				if (silence.IsSilenceNow(log.DateTime))
				{
					Trace.WriteLine("Start triggers for a job: " + job.Name);

					silence.SetUntil(log.DateTime + job.FailureSilenceInterval);

					var tasks = new List<Task>();

					foreach (var trigger in job.GetTriggers())
					{
						tasks.Add(trigger.ExecuteAsync(log, silence));
					}

					await Task.WhenAll(tasks);

					silence.ResetCounter();
				}
				else
				{
					Trace.WriteLine("Mute triggers for a job: " + job.Name);
					silence.IncreaseCounter();
				}
			}
			catch (Exception exception)
			{
				await SystemLogRepository.SaveAsync(exception, $"Unhandled trigger error. Job = [{job.Name}].");
			}
		}