← Zurück

Не правильно расчитывается ExportTimeOutInterval


this.Trader = new QuikTrader(this.Path.Text);
this.Trader.ReConnectionSettings.Interval = TimeSpan.FromSeconds(10);
this.Trader.ReConnectionSettings.WorkingTime = Exchange.Rts.WorkingTime;
this.Trader.ReConnectionSettings.ExportTimeOutInterval = TimeSpan.FromSeconds(30);
this.Trader.ReConnectionSettings.ExportTimeOut += delegate { MessageBox.Show("Данные не поступают."); };

Такой код извещал о не поступлении данных примерно раз в 1,3 минуты, а не в 30 сек, при реальном отсутсвии данных. В чем может быть проблема?

Если поставить TimeSpan.FromSeconds(60);, то первое сообщение будет примерно через 1,47 второе через 2 минуты, третье ещё через 2.

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

Подпишитесь на событие NewDataExported с распечаткой времени последних данных Также добавьте время вывода сообщения по событию ExportTimeOut

Всё работает следующим образом: раз в ExportTimeOutInterval мы смотрим - если разница между нынешним временем и последним временем NewDataExported больше ExportTimeOutInterval то поднимаем ExportTimeOut

Поэтому вполне может быть следующее: в 10:14:29 посмотрели - данные идут, всё ок в 10:14:30 пришли данные, обновили время последнего прихода данных в 10:14:59 посмотрели - разница между текущим временем и последним приходом = 29 секунд < 30 - всё ок в 10:15:29 посмотрели - разница = 59 секунд > 30 - подняли событие

в итоге от остановки данных до события прошло 59 секунд. у вас вполне возможно такая ситуация

Alexander
Alexander

Значит моё предположение верное, всё работает согласно тому, как я написал. Если хотите быстрее - уменьшайте таймаут в 2 раза.

vader
vader Autor

Скажите пожалуйста, что именно понимается под данными? Стакан, сделки, ещё что-то? На что ориентируется ExportTimeOut и от чего он отсчитывает отсутсвие данных?

Alexander
Alexander

vader: Скажите пожалуйста, что именно понимается под данными? Стакан, сделки, ещё что-то? На что ориентируется ExportTimeOut и от чего он отсчитывает отсутсвие данных?

Любые по которым запущен экспорт