Workflow: library for transparent execution of interruptible computations
Transparent support for interruptable computations. A workflow can be seen as a persistent thread that executes any monadic computation. Therefore, it can be used in very time consuming computations such are CPU intensive calculations or procedures that are most of the time waiting for the action of a process or an user, that are prone to comunication failures, timeouts or shutdowns.
The computantion can be restarted at the interrupted point because such monad is encapsulated inside a state monad transformer that transparently checkpoint the computation state. Besides that, the package also provides other services associated to workflows The main features are:
logging of each intermediate action results in disk.
resume the monadic computation at the last checkpoint after soft or hard interruption.
suspend a computation until the input object meet certain conditions. useful for inter-workflow comunications.-
Communications with other processes including other workflows trough persistent data objects, inspection of intermediate workflow results , persistent queues, persistent timeouts so that no data is lost due to shutdowns
A workflow can initiate anoter workflow and wait for the resutl
workflow management and monitoriing, view workflow history and intermediate results.
|Versions [faq]||0.1, 0.2, 0.3, 0.5.5, 0.5.6, 0.5.8, 0.5.8.0, 0.5.8.1, 0.5.8.2, 0.6.0.0, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.7.0.3, 0.7.0.4, 0.7.0.5, 0.7.0.6, 0.7.0.7, 0.8.0.0, 0.8.0.1, 0.8.0.2, 0.8.0.3, 0.8.0.4, 0.8.0.5, 0.8.0.6, 0.8.0.7, 0.8.0.8, 0.8.0.9, 0.8.1, 0.8.2, 0.8.3|
|Dependencies||base (==3.*), containers, mtl, old-time, RefSerialize (>=0.2.4), stm (>2), TCache (>=0.6.4) [details]|
|Author||Alberto Gómez Corona|
|Category||Control, Workflow, Concurrent, Middleware|
|Uploaded||by AlbertoCorona at 2009-10-01T19:39:50Z|
|Downloads||25976 total (38 in the last 30 days)|
|Rating||2.0 (votes: 1) [estimated by Bayesian average]|
Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees