Cameron is an Erlang-based workflow engine in which I have been working on for a few weeks.
It has been built as an Erlang/OTP system with an REST-like API, powered by Misultin, through which one can POST a JSON request to run a given process workflows, that will be executed in background [parallely with other running ones], and then GET its JSON results as soon as them become available. And obviously, it uses Redis for the win.
What about Process Workflows?
Process workflows are defined in terms of REST-like web services, written in virtually any language, which basically must talk a simple JSON contract.
These web services are the activities that define a process workflow; these web services are the tasks to achieve a given target. And as you can imagine, yes, an activity can cascade many others; it is pipeline-based, as well.
So if you have any background job that must cascade many tasks to achieve a goal, maybe it fits to your needs.
Does it work?
Although it still experimental, a work in progress, it works reasonably well – at least under my tests.
So if you have time, take a look at the documentation.