OTP-like supervision trees in Haskell.
capataz
enhances the reliability of your concurrent applications by offering supervision of green threads that run in your application.
Advantages over standard library:
Links related long-living processes together under a common capataz supervisor, with restart/shutdown order
Set restart strategies (Permanent, Transient, Temporary) on
IO
sub-routines on a granular levelSet restart strategies on a pool of long-living worker threads (AllForOne, OneForOne)
Complete telemetry on the sub-routine lifecycle of your application (start, error, restarts, shutdown)
Capataz
Our greatest glory is not in never failing, but in rising every time we fail.– Confucius
Table Of Contents
Installation
Make sure you include the following entry on your cabal file's dependecies section.
library:
build-depends: capataz
Or on your package.yaml
dependencies:
- capataz
Documentation
The documentation website can be found here. Some relevant links:
Development
Follow the developer guidelines
In future releases
- Replace Protolude in favor of RIO
- Documentation of performance analysis
- Ensure unit tests always finish on all concurrent scenarios (dejafu experiment)