Compare commits

..

21 Commits

Author SHA1 Message Date
Tyler Goodlet 6aedacd1b4 TOCHERRY service_mng_to_tractor: type fix to `.hilevel.ServicecMngr` 2025-02-13 21:20:35 -05:00
Tyler Goodlet b549e0fe67 Enable `greenback` for `.pause_from_sync()` by default? 2025-02-13 21:20:35 -05:00
Tyler Goodlet 0a42f07d17 `.brokers.cli`: module type and todo for `--pdb` flag to NOT src from sub-cmd 2025-02-13 21:20:35 -05:00
Tyler Goodlet 004870d1b5 Catch using `Sampler.bcast_errors` where possible
In all other possible IPC disconnect handling blocks. Also more
comprehensive typing throughout `uniform_rate_send()`.
2025-02-13 21:20:35 -05:00
Tyler Goodlet 11e4e3b6d9 Group bcast errors as `Sampler.bcast_errors`
A new class var `tuple[Exception]` such that the err set can be reffed
externally as needed for catching other similar pub-sub/IPC failures in
other (related) real-time sub-systems.

Also added some now-masked logging for debugging live-feed stream reading
issues that should ONLY be used for debugging since they'll greatly
degrade HFT perf. Used the new `log.mk_repr()` stuff (that one day we
should prolly pull from `modden` as a dep) for pretty console emissions.
2025-02-13 21:20:35 -05:00
Tyler Goodlet ce4bab43cb Suppress `trio.EndOfChannel`s raised by remote peer
Since now `tractor` will raise this native `trio`-exc translated from
a `Stop` msg when the peer gracefully terminates a `tractor.MsgStream`.
Just `info()` log in such cases versus continuing to warn for the
others.
2025-02-13 21:20:35 -05:00
Tyler Goodlet d1bd73ec8c `.tsp._anal`: add (unused) `detect_vlm_gaps()` 2025-02-13 21:20:35 -05:00
Tyler Goodlet 03e21e1f85 `.storage.cli`: collect gap-markup-aids into `tf2aids: dict` prior to pause for introspection 2025-02-13 21:20:35 -05:00
Tyler Goodlet a21b2dc854 Delegate to `tractor.msg.pretty_struct` since it was factored from here! 2025-02-13 21:20:35 -05:00
Tyler Goodlet 8564676ed3 Teensie `piker.data` styling tweaks
- use more compact optional value style with `|`-union
- fix `.flows` typing-only import since we need `MktPair` to be
  immediately defined for use on a `msgspec.Struct` field.
- more "tree-like" warning msg in `.validate()` reporting.
2025-02-13 21:20:35 -05:00
Tyler Goodlet 37dcb6e6be Invert `getattr()` check for `get_mkt_pairs()` ep
Such that we `return` early when not defined by the provider backend to
reduce an indent level in `SymbologyCache.load()`.
2025-02-13 21:20:35 -05:00
Tyler Goodlet 6ada638e62 Various `.clearing` todos/notes on potential issues with loglevel settings.. 2025-02-13 21:20:35 -05:00
Tyler Goodlet 3828a4eb03 Type loaded backend modules 2025-02-13 21:20:35 -05:00
Tyler Goodlet 14bd7d5fd6 Bump various `.brokers.core` doc string content/style 2025-02-13 21:20:35 -05:00
Tyler Goodlet a2f73258ca Ignore any non-`.parquet` files under `.config/piker/nativedb/` subdir 2025-02-13 21:20:35 -05:00
Tyler Goodlet dcbf8c0eeb Doc-n-clean `.data._web_bs.open_jsonrpc_session()`
Add a doc-string reflecting recent refinements, drop all the old hook
params, rename `n: trio.Nursery` -> `tn` for "task nursery" fitting with
code base's naming style.
2025-02-13 21:20:35 -05:00
Tyler Goodlet b773961471 Allow ledger passes to ignore (symcache) unknown fqmes
For example in the paper-eng, if you have a backend that doesn't fully
support a symcache (yet) it's handy to be able to ignore processing
other paper-eng txns when all you care about at the moment is the
simulated symbol.

NOTE, that currently this will still result in a key-error when you load
more then one mkt with the paper engine (for which the backend does not
have the symcache implemented) since no fqme ad-hoc query was made for
the 2nd symbol (and i'm not sure we should support that kinda hackery
over just encouraging the sym-cache being added?). Def needs a little
more thought depending on how many backends are never going to be able
to (easily) support caching..
2025-02-13 21:20:35 -05:00
Tyler Goodlet dfdcaea337 .clearing._ems: Don't require `first_quote['last']`
Instead just check for the field (which i'm not huge on the key-name for
anyway) and if not found get the "last price" from the real-time shm
buffer's latest 'close' sample.

Unrelatedly, use a `subs.copy()` in the `Router.client_broadcast()` loop
such that if a `client_stream` is popped on connection failure, we don't
RTE for the "size changed on iteration".
2025-02-13 21:20:35 -05:00
Tyler Goodlet f675c3cfb6 data._web_bs: try to raise jsonrpc errors in parent task 2025-02-13 21:20:35 -05:00
Tyler Goodlet eb86bfef76 Mask no-data pause, add perps to no-`/src`-in-fqme asset set
Was orig for debugging an issue with `kucoin` i think but definitely
shouldn't be left in XD

Also add `'perpetual_future'` to the `.start_backfill()` input literal
set since we don't expect the 'btc/usd.perp.binance' for now.
2025-02-13 21:20:35 -05:00
goodboy c933f2ad56 Merge pull request 'kucoin_and_binance_fix' (#9) from kucoin_and_binance_fix into gitea_feats
Reviewed-on: #9
2025-02-13 19:40:50 +00:00

Diff Content Not Available