`kraken`: heh, use `trio_util` for trades streamz tooo XD

pre_overruns_ctxcancelled
Tyler Goodlet 2023-03-22 19:15:13 -04:00
parent 116f7fd40f
commit 49958e68ea
2 changed files with 52 additions and 53 deletions

View File

@ -34,7 +34,6 @@ from typing import (
Union, Union,
) )
from async_generator import aclosing
from bidict import bidict from bidict import bidict
import pendulum import pendulum
import trio import trio
@ -672,11 +671,9 @@ async def trades_dialogue(
token=token, token=token,
), ),
) as ws, ) as ws,
aclosing(stream_messages(ws)) as stream, stream_messages(ws) as stream,
trio.open_nursery() as nurse, trio.open_nursery() as nurse,
): ):
stream = stream_messages(ws)
# task for processing inbound requests from ems # task for processing inbound requests from ems
nurse.start_soon( nurse.start_soon(
handle_order_requests, handle_order_requests,

View File

@ -78,6 +78,7 @@ class OHLC(Struct):
ticks: list[Any] = [] ticks: list[Any] = []
@trio_async_generator
async def stream_messages( async def stream_messages(
ws: NoBsWs, ws: NoBsWs,
): ):
@ -133,7 +134,8 @@ async def process_data_feed_msgs(
Parse and pack data feed messages. Parse and pack data feed messages.
''' '''
async for msg in stream_messages(ws): async with stream_messages(ws) as ws_stream:
async for msg in ws_stream:
match msg: match msg:
case { case {
'errorMessage': errmsg 'errorMessage': errmsg