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
![Stackage Nightly](https://www.stackage.org/package/capataz/badge/nightly)
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
![Hackage Dependencies](https://img.shields.io/hackage-deps/v/capataz.svg)
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
buildLogWorkerSpec
in favour of buildLogWorkerSpec1
which takes
Natural
instead of Int
for compatibility with stm-2.5
.
- Deprecate
buildLogWorkerOptions
in favour of buildLogWorkerOptions1
which
takes Natural
instead of Int
for compatibility with stm-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
protolude
in favor of rio
(closes #9)
- Add convinience module
Capataz
- Add
Control.Concurrent.Capataz.Util
which provide ProcessSpec
for normal use-cases
- Add
buildLogWorkerSpec
and buildLogWorkerOptions
which create a dedicated supervised
thread that logs messages (sits on top of rio
logger utilities)
- Add
terminateCapataz
and terminateCapataz_
, these functions replace the
re-exported runTeardown
- Add re-export of
TeardownResult
from the teardown
package
- Update the
capataz-simple-example
project to use typed-process
and rio
- Add export for
WorkerName
and SupervisorName
aliases
- Add new dependency
prettyprinter
- Add new dependency
pretty-show
to prettify exceptions
- Add
Pretty
instance for CapatazEvent
- Add
Display
instance for CapatazEvent
- Add
ProcessThreadId
newtype to better render ThreadId
values
- Add
buildWorkerOptions1
and workerSpec1
(closes #17)
- Move to CircleCI
v0.1.0.1
- Bump bounds of
async
dependency
v0.1.0.0 Who supervises the supervisor?
BREAKING CHANGES
- Introduction of the
Process
type which is composed of both Supervisor
and
Worker
types
- Replace
defWorkerSpec
in favor of workerSpec
and workerSpecWithDefaults
to build static workers
- Replace of
defWorkerOptions
in favor of buildWorkerOptions
and
buildWorkerOptionsWithDefaults
to build dynamic workers
- Replace
terminateWorker
in favor of terminateProcess
- Add
supervisorSpec
, supervisorSpecWithDefaults
to build static supervision
trees
- Add
forkSupervisor
, buildSupervisorOptions
and
buildSupervisorOptionsWithDefaults
to build dynamic supervision trees
- Replace usage of default records semantics in favor of Lenses
- Add
joinCapatazThread
to avoid providing direct access to async of root
supervision tree
- Add
getSupervisorProcessId
to access the ProcessId
of a given Supervisor
record (for dynamic termination)
- Add
getSupervisorAsync
to access the Async ()
record of a supervisor
process thread
- Add
getCapatazTeardown
to access the Teardown
record of the capataz system
- Move
CapatazEvent
records to new module Control.Concurrent.Capataz.Event
to avoid requiring DuplicateRecordFields
extension on API users
- Remove
WorkerAction
alias 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
forkCapataz
signature now requires name for root supervisor
v0.0.0.2
- Bump bounds of
tasty
dependency
v0.0.0.1
- Bump bounds of
tasty
dependency
- Bump bounds of
tasty-hunit
dependency
v0.0.0.0
- First release of capataz
- Support for supervising simple worker
IO ()
sub-routines