capataz-0.0.0.0: src/Control/Concurrent/Capataz.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-| Public API for the capataz library
Capataz is a library that brings an OTP-like supervisor API to the Haskell
concurrency toolset.
-}
module Control.Concurrent.Capataz
(
-- * Types
CallbackType (..)
, WorkerAction
, WorkerError (..)
, WorkerOptions (..)
, WorkerRestartStrategy (..)
, WorkerSpec (..)
, WorkerTerminationOrder (..)
, WorkerTerminationPolicy (..)
, Capataz (..)
, CapatazEvent (..)
, CapatazOptions (..)
, CapatazRestartStrategy (..)
, CapatazStatus (..)
, defWorkerOptions
, defWorkerSpec
, defCapatazOptions
-- * Core functionality
, forkWorker
, forkCapataz
, terminateWorker
-- * Utility functions
, capatazToAsync
-- * Teardown (re-exported)
, teardown
)
where
import Control.Concurrent.Internal.Capataz.Core (forkCapataz, forkWorker, terminateWorker)
import Control.Concurrent.Internal.Capataz.Types
( CallbackType (..)
, Capataz (..)
, CapatazEvent (..)
, CapatazOptions (..)
, CapatazRestartStrategy (..)
, CapatazStatus (..)
, WorkerAction
, WorkerError (..)
, WorkerOptions (..)
, WorkerRestartStrategy (..)
, WorkerSpec (..)
, WorkerTerminationOrder (..)
, WorkerTerminationPolicy (..)
, defCapatazOptions
, defWorkerOptions
, defWorkerSpec
)
import Control.Concurrent.Internal.Capataz.Util (capatazToAsync)
import Control.Teardown (teardown)