diff --git a/max_pain.py b/max_pain.py index 9e10289d..d6f4e147 100644 --- a/max_pain.py +++ b/max_pain.py @@ -8,8 +8,6 @@ from piker.brokers.deribit.api import ( async def max_pain_daemon( ) -> None: - async with maybe_open_oi_feed() as oi_feed: - print('Im in...') def check_if_complete( oi: dict[str, dict[str, Decimal | None]], diff --git a/piker/brokers/deribit/api.py b/piker/brokers/deribit/api.py index 19a3297a..159aa486 100644 --- a/piker/brokers/deribit/api.py +++ b/piker/brokers/deribit/api.py @@ -812,8 +812,8 @@ async def maybe_open_price_feed( async def aio_open_interest_feed_relay( fh: FeedHandler, - instruments: list, oi_by_strikes: dict[str, dict[str, Decimal]], + instruments: list[Symbol], from_trio: asyncio.Queue, to_trio: trio.abc.SendChannel, ) -> None: @@ -915,6 +915,7 @@ async def aio_open_interest_feed_relay( @acm async def open_oi_feed( + instruments: list[Symbol], ) -> to_asyncio.LinkedTaskChannel: expiry_date: str = '20DEC24' instruments: list[Symbol] = [] @@ -946,12 +947,18 @@ async def open_oi_feed( @acm async def maybe_open_oi_feed( + instruments: list[Symbol], ) -> trio.abc.ReceiveStream: # TODO: add a predicate to maybe_open_context feed: to_asyncio.LinkedTaskChannel async with maybe_open_context( acm_func=open_oi_feed, + kwargs={ + 'instruments': instruments + }, + key=f'{instruments[0]}', + ) as (cache_hit, feed): if cache_hit: yield broadcast_receiver(feed, 10)