For a fun Friday afternoon’s hacking, I’ve put together a small program to bring the experience of Docker-Compose to regular programs!
This will allow you to quickly spin up a bunch of processes in parallel, aggregating their output into a single non-interfering stream:
It was inspired by how Docker-Compose handles the output of containers as they perform computation and output.
You can use it quickly with shell-string arguments:
logody “program1 args” “program2 args”
or via a config-file:
--- osname: process: uname args: - "-a" echo: shell: "echo bar && sleep 1 && exit 1" resume: - fail testscript: process: ./test/test.bash resume: - succeed - fail
Some examples of what this might be useful for:
- A config file in your project to spin up tensor-board and jupyter-notebook
- A make rule to concurrently run tests and linting
- A way to have a set of services running even after failure for development