#supervisor #process #json-rpc #adapter #sockets #serve #psup

psup-json-rpc

JSON RPC adapter for the psup process supervisor library

3 unstable releases

0.6.0 Mar 11, 2021
0.5.1 Feb 28, 2021
0.5.0 Feb 28, 2021

#34 in #supervisor

25 downloads per month
Used in psup

MIT/Apache

6KB
82 lines

psup

A non-blocking process supervisor that uses Unix domain sockets for inter-process communication built on tokio. Support will be added later for Windows using named pipes.

It's purpose is primarily to be used as a libary psup-impl but the psup executable can be used for testing or constrained environments where a lightweight executable could be useful. The statically linked release executable is ~2MB with symbols stripped on Linux and could be trimmed down further with a little effort.

Example communicating using JSON RPC:

cargo run --example=supervisor

An example that uses the supervisor control channel to explicitly shutdown a daemon worker process:

cargo run --example=shutdown

To test the daemon and respawn logic:

cargo run -- sample.toml
kill <PID>

Build a release:

cargo build --release && strip target/release/psup

Dual-licensed under MIT and Apache-2.


lib.rs:

Adapter for the process supervisor (psup) to serve JSON-RPC over a split socket.

Dependencies

~4–6MB
~109K SLoC