public AlertService(IRabbitMqService rabbitMqService, IReloadingManager <MarginTradingOrderbookAggregatorSettings> settings, ISlackNotificationsSender slack, IAlertSeverityLevelService alertSeverityLevelService) { _rabbitMqService = rabbitMqService; _settings = settings; _slack = slack; _alertSeverityLevelService = alertSeverityLevelService; }
public QuotesMonitor(ILog log, IMtSlackNotificationsSender slackNotificationsSender, MarginTradingSettings marginSettings, IQuoteCacheService quoteCacheService, IDateService dateService, IAssetPairDayOffService dayOffService, IAlertSeverityLevelService alertSeverityLevelService) : base("QuotesMonitor", 60000, log) { _log = log; _slackNotificationsSender = slackNotificationsSender; _marginSettings = marginSettings; _quoteCacheService = quoteCacheService; _dateService = dateService; _dayOffService = dayOffService; _alertSeverityLevelService = alertSeverityLevelService; _outdatedQuotes = new Dictionary <string, OutdatedQuoteInfo>(); }
public ConsistencyMonitor(MonitorSettings monitorSettings, IConsistencyService consistencyService, IMtSlackNotificationsSender slackNotificationsSender, ICheckResultRepository checkResultRepository, IBalanceAndTransactionAmountRepository balanceAndTransactionAmountRepository, IBalanceAndOrderClosedRepository balanceAndOrderClosedRepository, IOrdersReportAndOrderClosedOpenedRepository ordersReportAndOrderClosedOpenedRepository, IPriceCandlesConsistencyRepository priceCandlesConsistencyRepository, IMarginEventsAccountStatusRepository marginEventsAccountStatusRepository, IHedgingServiceRepository hedgingServiceRepository, IAlertSeverityLevelService alertSeverityLevelService, ILog log) { _log = log; _monitorSettings = monitorSettings; _consistencyService = consistencyService; MonitorInterval = _monitorSettings.ConsistencyCheckInterval; _checkResultRepository = checkResultRepository; _balanceAndTransactionAmountRepository = balanceAndTransactionAmountRepository; _balanceAndOrderClosedRepository = balanceAndOrderClosedRepository; _ordersReportAndOrderClosedOpenedRepository = ordersReportAndOrderClosedOpenedRepository; _priceCandlesConsistencyRepository = priceCandlesConsistencyRepository; _marginEventsAccountStatusRepository = marginEventsAccountStatusRepository; _hedgingServiceRepository = hedgingServiceRepository; _alertSeverityLevelService = alertSeverityLevelService; _slackNotificationsSender = slackNotificationsSender; var lastCheckResult = Task.Run(async() => await _checkResultRepository.GetLastAsync()).Result; if (lastCheckResult == null) { LastCheck = null; } else { LastCheck = lastCheckResult.DateTo; } _log.WriteInfo(nameof(ConsistencyMonitor), null, $"Consistency Monitor Started. LastCheck:[{LastCheck?.ToString("u")}]"); }