Use event sync for increment task launch
parent
c7ff0804db
commit
9478adf600
|
@ -27,6 +27,12 @@ from ._sharedmem import ShmArray
|
||||||
|
|
||||||
|
|
||||||
_shms: Dict[int, ShmArray] = {}
|
_shms: Dict[int, ShmArray] = {}
|
||||||
|
_start_increment: Dict[str, trio.Event] = {}
|
||||||
|
|
||||||
|
|
||||||
|
def shm_incrementing(shm_token_name: str) -> trio.Event:
|
||||||
|
global _start_increment
|
||||||
|
return _start_increment.setdefault(shm_token_name, trio.Event())
|
||||||
|
|
||||||
|
|
||||||
@tractor.msg.pub
|
@tractor.msg.pub
|
||||||
|
@ -47,6 +53,10 @@ async def increment_ohlc_buffer(
|
||||||
Note that if **no** actor has initiated this task then **none** of
|
Note that if **no** actor has initiated this task then **none** of
|
||||||
the underlying buffers will actually be incremented.
|
the underlying buffers will actually be incremented.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# wait for brokerd to signal we should start sampling
|
||||||
|
await shm_incrementing(shm_token['shm_name']).wait()
|
||||||
|
|
||||||
# TODO: right now we'll spin printing bars if the last time stamp is
|
# TODO: right now we'll spin printing bars if the last time stamp is
|
||||||
# before a large period of no market activity. Likely the best way
|
# before a large period of no market activity. Likely the best way
|
||||||
# to solve this is to make this task aware of the instrument's
|
# to solve this is to make this task aware of the instrument's
|
||||||
|
|
Loading…
Reference in New Issue