Workflow: library for transparent execution of computations across shutdowns and restarts

[ bsd3, control, library, workflow ] [ Propose Tags ]

transparent low level support (state logging, resume of the computation state, wait for data condition) for very long time long living event driven processes. Workflow give the two first services to any monadic computation of type (a-> m a) f x >>=x'-> g x' >>= x''->... z by prefixing each action with the method "step": step f x >>= x'-> step g x' >>= x''->... This means that a workflow can be described with the familiar "do" notation. In principle, there is no other limitation on the syntax but the restriction (a -> m a): All computations consume and produce the same type of data. for a monadic computation, Workflow provides: - transparent checkpointing for each step in permanent storage (using TCache) - sync or async syncronization of each action results with disk. - after soft or hard interruption, resume the monadic computation at the last checkpoint - retrieval of the returned value of any previous action - suspend the computation until the input object meet certain conditions. useful for inter-workflow comunications. For various reasons, this package force the use of TCache for storage and refSerialize for writing to/from strings at the end of the workflow all the intermediate data is erased. see demo.hs and the header of Control.TCache for documentation. this version uses Data.TCache.Dynamic

Versions 0.1, 0.2, 0.3, 0.5.5, 0.5.6, 0.5.8,,,,,,,,,,,,,,,,,,,,,,, 0.8.1, 0.8.2, 0.8.3
Dependencies base, old-time, RefSerialize (>=0.2.3), stm (>2), TCache (>=0.5.5) [details]
License BSD-3-Clause
Author Alberto Gómez Corona
Category Control
Uploaded by AlbertoCorona at Mon Jan 19 17:58:11 UTC 2009
Distributions LTSHaskell:0.8.3, NixOS:0.8.3, openSUSE:0.8.3
Downloads 13679 total (90 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees