Ejemplo n.º 1
0
        internal void ProcessingData()
        {
            try
            {
                if (_lock)
                {
                    return;
                }

                _lock = true;

                var method = UtilHelper.GetMethodName(MethodBase.GetCurrentMethod());
                _logger?.Info($"{method} => start");
                var watch = System.Diagnostics.Stopwatch.StartNew();

                var data = DataReaderHelper.GetData(
                    _dataReaders, _filtersValidator, _filtersValidatorRepository, _aggregatorsValidator, _aggregatorsValidatorRepository);
                if (!data.Any())
                {
                    _logger?.Debug("No data found...");
                    return;
                }

                var sendedMessages = new Dictionary <SendedMessages, int>();
                foreach (var message in data)
                {
                    if (!_clientsManager.Send(message))
                    {
                        _logger?.Debug("No clients defined to send...");
                        return;
                    }
                    var sendedMessage = new SendedMessages {
                        Name = message.LogicalStorage, Id = message.ReaderId
                    };
                    sendedMessages.AddOrIncrement(sendedMessage, 1);
                }

                foreach (var message in sendedMessages)
                {
                    _logger?.Debug($"Sended: {message.Value} messages from {message.Key}");
                }

                watch.Stop();
                var elapsedMs = watch.ElapsedMilliseconds;
                _logger?.Info($"{method} => end, Time taken: {elapsedMs}ms");
            }
            catch (Exception ex)
            {
                _logger?.Error(ex.Message);
            }
            finally
            {
                _lock = false;
            }
        }
Ejemplo n.º 2
0
        private void Close()
        {
            var method = UtilHelper.GetMethodName(MethodBase.GetCurrentMethod());

            _logger?.Info($"{method} => start");
            var watch = System.Diagnostics.Stopwatch.StartNew();

            if (!CheckTimeForCloseApp(_lifetime))
            {
                _logger?.Debug("Not time to die..."); return;
            }

            try
            {
                var data = _dataReader.GetData();

                var sendedMessages = new Dictionary <string, int>();
                foreach (var message in data)
                {
                    _clientsManager.Send(message);
                    sendedMessages.AddOrIncrement(message.LogicalStorage, 1);
                }

                foreach (var message in sendedMessages)
                {
                    _logger?.Debug($"Sended: {message.Value} messages about application exit from {message.Key}");
                }

                watch.Stop();
                var elapsedMs = watch.ElapsedMilliseconds;
                _logger?.Info($"{method} => end, Time taken: {elapsedMs}ms");
            }
            catch (Exception ex)
            {
                _logger?.Error(ex.Message);
            }
            finally
            {
                _timer.Stop();
                Environment.Exit(0);
            }
        }
Ejemplo n.º 3
0
 public void GetMethodName_MethodNameIsNotNull_ReturnMethodName()
 {
     UtilHelper.GetMethodName(MethodBase.GetCurrentMethod()).Should()
     .Match("Queris.ExceptionNotifier.Common.UnitTests.Helpers.UtilHelperTests::GetMethodName_MethodNameIsNotNull_ReturnMethodName");
 }
Ejemplo n.º 4
0
 public void GetMethodName_MethodNameIsNull_ReturnUnknownMethod()
 {
     UtilHelper.GetMethodName(null).Should().Match("!MethodUnknown!");
 }