MIT licensed by Roman Gonzalez
This version can be pinned in stack with:capataz-0.2.1.0@sha256:185b2456561f496ecfdcfc338fdbf0da78580f7d0116543c60ef3bf9f3a4415b,3129
Module documentation for 0.2.1.0
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)
Change log
capataz uses Semantic Versioning.
The change log is available on GitHub.
v0.2.1.0
- Support GHC-8.6.3.
- Deprecate buildLogWorkerSpecin favour ofbuildLogWorkerSpec1which takesNaturalinstead ofIntfor compatibility withstm-2.5.
- Deprecate buildLogWorkerOptionsin favour ofbuildLogWorkerOptions1which
takesNaturalinstead ofIntfor compatibility withstm-2.5.
v0.2.0.0 Bumblebee release
BREAKING CHANGES
- Allow the creation of Supervision Trees on Monad Transformer stacks ๐
- Move to latest stable stackage snapshot (lts-11.10)
- Remove protoludein favor ofrio(closes #9)
- Add convinience module Capataz
- Add Control.Concurrent.Capataz.Utilwhich provideProcessSpecfor normal use-cases
- Add buildLogWorkerSpecandbuildLogWorkerOptionswhich create a dedicated supervised
thread that logs messages (sits on top ofriologger utilities)
- Add terminateCapatazandterminateCapataz_, these functions replace the
re-exportedrunTeardown
- Add re-export of TeardownResultfrom theteardownpackage
- Update the capataz-simple-exampleproject to usetyped-processandrio
- Add export for WorkerNameandSupervisorNamealiases
- Add new dependency prettyprinter
- Add new dependency pretty-showto prettify exceptions
- Add Prettyinstance forCapatazEvent
- Add Displayinstance forCapatazEvent
- Add ProcessThreadIdnewtype to better renderThreadIdvalues
- Add buildWorkerOptions1andworkerSpec1(closes #17)
- Move to CircleCI
v0.1.0.1
- Bump bounds of asyncdependency
v0.1.0.0 Who supervises the supervisor?
BREAKING CHANGES
- Introduction of the Processtype which is composed of bothSupervisorandWorkertypes
- Replace defWorkerSpecin favor ofworkerSpecandworkerSpecWithDefaultsto build static workers
- Replace of defWorkerOptionsin favor ofbuildWorkerOptionsandbuildWorkerOptionsWithDefaultsto build dynamic workers
- Replace terminateWorkerin favor ofterminateProcess
- Add supervisorSpec,supervisorSpecWithDefaultsto build static supervision
trees
- Add forkSupervisor,buildSupervisorOptionsandbuildSupervisorOptionsWithDefaultsto build dynamic supervision trees
- Replace usage of default records semantics in favor of Lenses
- Add joinCapatazThreadto avoid providing direct access to async of root
supervision tree
- Add getSupervisorProcessIdto access theProcessIdof a givenSupervisorrecord (for dynamic termination)
- Add getSupervisorAsyncto access theAsync ()record of a supervisor
process thread
- Add getCapatazTeardownto access theTeardownrecord of the capataz system
- Move CapatazEventrecords to new moduleControl.Concurrent.Capataz.Eventto avoid requiringDuplicateRecordFieldsextension on API users
- Remove WorkerActionalias as it is used for library development
documentation
- Add capataz-repo-watcher example to showcase static supervision trees
- Update capataz-simple-example unix-process example
- forkCapatazsignature now requires name for root supervisor
v0.0.0.2
- Bump bounds of tastydependency
v0.0.0.1
- Bump bounds of tastydependency
- Bump bounds of tasty-hunitdependency
v0.0.0.0
- First release of capataz
- Support for supervising simple worker IO ()sub-routines