Support no realtime stream sending with feed bus
parent
7252094f90
commit
c2a13c474c
|
@ -257,6 +257,7 @@ async def open_feed_bus(
|
|||
symbol: str,
|
||||
loglevel: str,
|
||||
tick_throttle: Optional[float] = None,
|
||||
start_stream: bool = True,
|
||||
|
||||
) -> None:
|
||||
|
||||
|
@ -305,6 +306,9 @@ async def open_feed_bus(
|
|||
# deliver initial info message a first quote asap
|
||||
await ctx.started((init_msg, first_quotes))
|
||||
|
||||
if not start_stream:
|
||||
await trio.sleep_forever()
|
||||
|
||||
async with (
|
||||
ctx.open_stream() as stream,
|
||||
trio.open_nursery() as n,
|
||||
|
@ -490,6 +494,8 @@ async def open_feed(
|
|||
symbols: Sequence[str],
|
||||
loglevel: Optional[str] = None,
|
||||
|
||||
backpressure: bool = True,
|
||||
start_stream: bool = True,
|
||||
tick_throttle: Optional[float] = None, # Hz
|
||||
|
||||
) -> Feed:
|
||||
|
@ -518,7 +524,7 @@ async def open_feed(
|
|||
brokername=brokername,
|
||||
symbol=sym,
|
||||
loglevel=loglevel,
|
||||
|
||||
start_stream=start_stream,
|
||||
tick_throttle=tick_throttle,
|
||||
|
||||
) as (ctx, (init_msg, first_quotes)),
|
||||
|
@ -527,7 +533,7 @@ async def open_feed(
|
|||
# XXX: be explicit about stream backpressure since we should
|
||||
# **never** overrun on feeds being too fast, which will
|
||||
# pretty much always happen with HFT XD
|
||||
backpressure=True
|
||||
backpressure=backpressure,
|
||||
) as stream,
|
||||
|
||||
):
|
||||
|
@ -607,6 +613,9 @@ async def maybe_open_feed(
|
|||
'symbols': [sym],
|
||||
'loglevel': loglevel,
|
||||
'tick_throttle': kwargs.get('tick_throttle'),
|
||||
'backpressure': kwargs.get('backpressure'),
|
||||
'backpressure': kwargs.get('backpressure'),
|
||||
'start_stream': kwargs.get('start_stream'),
|
||||
},
|
||||
key=sym,
|
||||
) as (cache_hit, feed):
|
||||
|
|
Loading…
Reference in New Issue