piker/piker
Tyler Goodlet 7447758cfe Prep service mngr for move to `tractor.hilevel`
Given it's a fairly simple yet useful abstraction, it makes sense to
offer this sub-sys alongside the core `tractor` runtime lib.

Without going into extreme detail on the impl changes (it'll come in
the commit that moves to the other repo) here is the high level summary:
------ - ------
- rename `Services` -> `ServiceMngr` and use an factory `@acm`
  to guarantee a single-instance-per-actor using a niche approach for a
  singleton object using a default keyword-arg B)
  - the mod level `open_service_mngr()` and `get_service_mngr()` are the
    new allocation/access API.
- add a `ServiceMngr.start_service()` method which does the work of both
  spawning a new subactor (for the daemon) and uses its portal to start
  the mngr side supervision task.
- open actor/task nurseries inside the `@acm` allocator.

Adjust other dependent subsystems to match:
------ - ------
- use `open_service_mngr()` when first allocated in `open_pikerd()`.
- use `get_service_mngr()` instead of importing the class ref inside
  `.service.maybe_spawn_daemon()`, `.brokers._daemon.spawn_brokerd()`
  and `.data._sampling.spawn_samplerd()` using a `partial` to pack in
  the endpoint ctx kwargs (unpacked inside `.start_service()` XD).
2024-06-21 16:00:22 -04:00
..
accounting Allow `MktPair.from/to_msg()` to still do `.dst: str` for fsp flumes 2023-12-06 17:09:52 -05:00
brokers Prep service mngr for move to `tractor.hilevel` 2024-06-21 16:00:22 -04:00
clearing Just warn log on mismatched `MktPair` in paper eng 2024-01-10 17:52:50 -05:00
cli Factor transport-ep parser/loader into helper 2023-10-03 10:00:01 -04:00
data Prep service mngr for move to `tractor.hilevel` 2024-06-21 16:00:22 -04:00
fsp Make `fsp.cascade()` expect src/dst `Flume`s 2023-12-06 17:53:35 -05:00
service Prep service mngr for move to `tractor.hilevel` 2024-06-21 16:00:22 -04:00
storage Always reload shm data before annotating gaps, so they line up.. 2024-01-09 15:55:16 -05:00
testing Pass a config `tmp_dir: Path` to the runtime when testing 2023-03-09 15:37:43 -05:00
toolz Delegate `.toolz.open_crash_handler()` to `tractor.devx` 2024-01-16 10:26:38 -05:00
tsp `tsp`: on backfill, do a smart retry on a `NoData` 2024-01-03 19:49:41 -05:00
ui Port all `.ui*` submods to new `.ui.qt` imports 2024-05-01 14:33:10 -04:00
watchlists Add license headers to pertinent files 2020-11-06 12:23:14 -05:00
__init__.py Start `piker.service` sub-package 2023-03-09 15:37:42 -05:00
_cacheables.py Move `._cacheables.open_cached_client()` into `.brokers` pkg mod 2023-06-27 13:41:47 -04:00
calc.py Lul, adhere to returning `str`s in `humanize()` 2022-01-25 07:57:01 -05:00
config.py `.config`: don't hack the user config dir if user is 'root' and sudo was NOT used.. 2023-12-22 21:41:51 -05:00
log.py Move `.accounting` related config loaders to subpkg 2023-06-27 13:42:08 -04:00
types.py Impl a sane (with nesting) `.types.Struct.pformat()` 2024-01-17 15:50:27 -05:00