public Task StartAsync() { _balancesTimer.Start(); _lykkeTradeSubscriber.Start(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Start(); } _marketMakerTimer.Start(); return(Task.CompletedTask); }
public async Task StartAsync() { _internalQuotePublisher.Start(); _internalOrderBookPublisher.Start(); _orderBooksUpdatesReportPublisher.Start(); _tradeService.Initialize(); await _storageMigrationService.MigrateStorageAsync(); _b2C2QuoteSubscriber.Start(); _b2C2OrderBooksSubscriber.Start(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Start(); } _lykkeTradeSubscriber.Start(); _orderBooksUpdatesReportSubscriber.Start(); _lykkeBalancesTimer.Start(); _externalBalancesTimer.Start(); _marketMakerTimer.Start(); _marketMakerService.Start(); _hedgeService.Start(); _hedgingTimer.Start(); _settlementsTimer.Start(); _internalTraderTimer.Start(); _lykkeTradeSubscriberMonitor.Start(); _pnLStopLossEngineTimer.Start(); }
public Task StartAsync() { _lykkeBalancesTimer.Start(); _lykkeTradeSubscriber.Start(); _lykkeOrderBookSubscriber.Start(); _indexTickPriceSubscriber.Start(); foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers) { quoteSubscriber.Start(); } _settlementsTimer.Start(); 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(); } } }