public Task StopAsync() { _internalTraderTimer.Stop(); _settlementsTimer.Stop(); _lykkeTradeSubscriberMonitor.Stop(); _b2C2QuoteSubscriber.Stop(); _b2C2OrderBooksSubscriber.Stop(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Stop(); } _lykkeTradeSubscriber.Stop(); _marketMakerTimer.Stop(); _lykkeBalancesTimer.Stop(); _externalBalancesTimer.Stop(); _hedgingTimer.Stop(); _pnLStopLossEngineTimer.Stop(); _internalQuotePublisher.Stop(); _internalOrderBookPublisher.Stop(); return(Task.CompletedTask); }
public Task StopAsync() { _marketMakerTimer.Stop(); _balancesTimer.Stop(); _lykkeTradeSubscriber.Stop(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Stop(); } return(Task.CompletedTask); }
protected override async Task OnExecuteAsync(CancellationToken cancellation) { if (DateTime.UtcNow - _lykkeTradeSubscriber.LastMessageTime > TimeSpan.FromMinutes(15)) { Log.WarningWithDetails("No trades received for five minutes. Subscriber will be reconnected.", new { _lykkeTradeSubscriber.LastMessageTime }); _lykkeTradeSubscriber.Stop(); await Task.Delay(TimeSpan.FromMinutes(1), cancellation); if (!cancellation.IsCancellationRequested) { _lykkeTradeSubscriber.Start(); } } }
public Task StopAsync() { _settlementsTimer.Stop(); _indexTickPriceSubscriber.Stop(); _lykkeOrderBookSubscriber.Stop(); _lykkeTradeSubscriber.Stop(); _lykkeBalancesTimer.Stop(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Stop(); } return(Task.CompletedTask); }