protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            try
            {
                //TODO: завести команду в нормальном виде а не вот это вот все
                _bitfinexSocketService.SendCommand("{\"event\":\"conf\",\"flags\":32768}");

                var subscriptions = await _taskRepository.GetPairNamesAndFramesForActiveTasksAsync();

                if (subscriptions.IsSuccess)
                {
                    var publisherTasks = subscriptions.Result
                                         .Select(r => _candleHistoryPublisher.ReceiveAndPublishCandleAsync(r.pairName, r.frame));
                    await Task.WhenAll(publisherTasks);

                    subscriptions.Result.Select(r => _messageGenerator.Subscribe(r.pairName, r.frame))
                    .Where(r => r.IsSuccess)
                    .ToList()
                    .ForEach(r => _bitfinexSocketService.SendCommand(r.Result));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "В процессе разогрева подписок на свечи произошла ошибка");
                throw;
            }
        }
        private async Task RequestAndPublishHistoryCandlesAsync(BaseMessage <CandleListnerParameters> subscription)
        {
            if (subscription == default)
            {
                throw new ArgumentNullException($"Входной параметр {nameof(subscription)} не может быть null");
            }

            //TODO: think about IsMaintenanceMode, what we can do?
            if (subscription.MessageType == BusMessageType.SubscribeChannel &&
                !_bitfinexSocketService.IsMaintenanceMode)
            {
                await _candleHistoryPublisher.ReceiveAndPublishCandleAsync(subscription.Content.ChannelName, subscription.Content.Period);
            }
        }