piker icon indicating copy to clipboard operation
piker copied to clipboard

How to expose/organize `<daemon>d` entryoints?

Open goodboy opened this issue 2 years ago • 0 comments

As per the reorg in #483 I think it's worth replacing all the daemon entry points currently defined in piker.service._daemon to possibly submods in each sub-system/package.

As an example, for the data layer, we could move maybe_spawn_brokerd() and spawn_brokerd() into a piker.data._daemon (though we probably want to move this particular daemon as datad once we split broker vs. rt feed tasks into separate actors).

The idea being that each sub-sys defines it's own "endpoints" for different services that can be started by name from the .service._mngr.Services API?

I feel like this would make it clear which systems can be run on separate hosts as well as how execution workloads are generally separated logically in our code base?


Another thing i've been groking is whether we should move our Qt integration via trio-guestmode in .ui._exec maybe into a .ui._daemon as well since eventually we want to be able to spawn UI actors under pikerd such they are supervised in the same was services and don't require a diff root actor for supervision/respawn?

Main issue for this support in tractor: https://github.com/goodboy/tractor/issues/281

goodboy avatar Mar 10 '23 00:03 goodboy