Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Workflow config = Workflow {
- _worflow_dag :: Gr PID Int
- _worflow_pidToAttr :: Map Text Attribute
- _workflow :: Processor config () ()
- type PID = Text
- data NodeState
- data SpecialMode
- type ProcState config = ReaderT WorkflowState (ExceptT (PID, SomeException) (WorkflowConfig config))
- data WorkflowState = WorkflowState {
- _database :: WorkflowDB
- _procStatus :: Map PID (MVar NodeState, Attribute)
- _procParaControl :: MVar ()
- _remote :: Bool
- _logServer :: Maybe Socket
- database :: Lens' WorkflowState WorkflowDB
- procStatus :: Lens' WorkflowState (Map PID (MVar NodeState, Attribute))
- procParaControl :: Lens' WorkflowState (MVar ())
- remote :: Lens' WorkflowState Bool
- logServer :: Lens' WorkflowState (Maybe Socket)
- type Processor config a b = a -> ProcState config b
- data RunMode
- data RunOpt = RunOpt {}
- defaultRunOpt :: RunOpt
- newtype Parallel config r = Parallel {
- runParallel :: ProcState config r
- type WorkflowConfig config = ReaderT config IO
Documentation
A Workflow is a stateful function
The result of a computation node
Success | The node has been executed |
Fail SomeException | The node failed to finish |
Scheduled | The node will be executed |
Special SpecialMode | Indicate the workflow is currently running under special mode |
data SpecialMode Source #
type ProcState config = ReaderT WorkflowState (ExceptT (PID, SomeException) (WorkflowConfig config)) Source #
data WorkflowState Source #
WorkflowState | |
|
procStatus :: Lens' WorkflowState (Map PID (MVar NodeState, Attribute)) Source #
procParaControl :: Lens' WorkflowState (MVar ()) Source #
Options
newtype Parallel config r Source #
Auxiliary type for concurrency support.
Parallel | |
|
type WorkflowConfig config = ReaderT config IO Source #