supervisors: Monitor groups of threads with non-hierarchical lifetimes.
supervisors package provides a useful abstraction for managing the
groups of Haskell threads, which may not have a strictly hierarchical
structure to their lifetimes.
Concretely, the library provides a
Supervisor construct, which can be
used to safely spawn threads while guaranteeing that:
When the supervisor is killed, all of the threads it supervises will be killed.
Child threads can terminate in any order, and memory usage will always be proportional to the number of *live* supervised threads.
One way to think of it is that
supervisors is to
resourcet is to
Note that this package is EXPERIMENTAL; it needs more careful testing before I can earnestly recommend relying on it.
See the README and module documentation for more information.
[Skip to Readme]
|Versions [faq]||0.1.0.0, 0.2.0.0|
|Dependencies||async (>=2.2.1 && <2.3), base (>=4.11 && <4.13), containers (>=0.5.9 && <0.7), safe-exceptions (>=0.1.7 && <0.2), stm (==2.5.*) [details]|
|Copyright||2018 Ian Denhardt|
|Source repo||head: git clone https://github.com/zenhack/haskell-supervisors.git -b master|
|Uploaded||by isd at Tue Dec 18 22:58:07 UTC 2018|
|Downloads||522 total (77 in the last 30 days)|
|Rating||(no votes yet) [estimated by Bayesian average]|
Docs available [build log]
Last success reported on 2018-12-18 [all 1 reports]
For package maintainers and hackage trustees