-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Jesus Ruiz edited this page Aug 1, 2013
·
43 revisions
With durable.js you can manage data by coordinating event streams that span across long periods of time.
- Programs are hosted using Node.js.
- The program data is stored in mongoDb (document database).
- Events are posted to the program through a simple REST interface.
- A web client, based on d3.js, for program and data visualization.
Writing efficient, consistent and reliable programs is simple and easy.
var d = require('durable');
d.run({
sequence: d.receive({ content: "hello world" })
.continueWith(function (s) { s.hello = s.getOutput().content; })
.checkpoint("hello")
.receive({ content: "good bye" })
.continueWith(function (s) { s.bye = s.getOutput().content; })
.checkpoint("bye")
});
See it in [action] (http://polar-ridge-1045.herokuapp.com/sequence/1/admin.html).
var d = require('durable');
d.run({
chart: d.stateChart({
s1: {
t1: {
when: d.tryReceive({ content: "s2" }),
run: function (s) { s.i = (s.i ? s.i + 1: 1); },
to: "s2" } },
s2: {
t1: {
when: d.tryReceive({ content: "s1" }),
run: function (s) { s.i = s.i + 1; },
to: "s1" },
t2: {
when: d.tryReceive({ content: "end" }),
to: "end" } },
end: { }
})
});
See it in [action] (http://polar-ridge-1045.herokuapp.com/chart/1/admin.html).
If it all sounds interesting, feel free to look at these documents.
- [Step by step] (http://www.github.com/jruizgit/durable/wiki/step-by-step)
- [Concepts] (http://www.github.com/jruizgit/durable/wiki/concepts)
- [API reference] (http://www.github.com/jruizgit/durable/wiki/api-reference)