piker/piker/service
Tyler Goodlet 13e8ad9614 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).
2026-01-07 14:47:35 -05:00
..
__init__.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
_actor_runtime.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
_ahab.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
_daemon.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
_mngr.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
_registry.py Port `.cli` & `.service` to latest `tractor` registry APIs 2026-01-06 22:27:58 -05:00
_util.py Use a single log for entire `.service` subsys 2023-05-09 14:49:26 -04:00
elastic.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00
marketstore.py Prep service mngr for move to `tractor.hilevel` 2026-01-07 14:47:35 -05:00