Only warn once when realtime quotes time out

slic_fix_v2
Tyler Goodlet 2022-06-20 12:46:21 -04:00
parent b87aa30031
commit 14c98d82ee
1 changed files with 11 additions and 6 deletions

View File

@ -640,6 +640,7 @@ class Client:
ready = ticker.updateEvent ready = ticker.updateEvent
# ensure a last price gets filled in before we deliver quote # ensure a last price gets filled in before we deliver quote
warnset: bool = False
for _ in range(100): for _ in range(100):
if isnan(ticker.last): if isnan(ticker.last):
@ -650,17 +651,21 @@ class Client:
if ready in done: if ready in done:
break break
else: else:
log.warning( if not warnset:
f'Quote for {symbol} timed out: market is closed?' log.warning(
) f'Quote for {symbol} timed out: market is closed?'
)
warnset = True
else: else:
log.info(f'Got first quote for {symbol}') log.info(f'Got first quote for {symbol}')
break break
else: else:
log.warning( if not warnset:
f'Symbol {symbol} is not returning a quote ' log.warning(
'it may be outside trading hours?') f'Symbol {symbol} is not returning a quote '
'it may be outside trading hours?')
warnset = True
return contract, ticker, details return contract, ticker, details