Skip to content

Instantly share code, notes, and snippets.

View geomagilles's full-sized avatar

Gilles Barbier geomagilles

View GitHub Profile
new OrderWorkflow({ item: “item_ref” }).dispatch();
var { Workflow } = require("zenaton");
var TaskA = require("./TaskA");
var TaskB = require("./TaskB");
module.exports = Workflow("SequentialWorkflow", function() {
new TaskA().execute();
new TaskB().execute();
});
var { Workflow } = require("zenaton");
var GetPriceFromProviderA = require("./GetPriceFromProviderA");
var GetPriceFromProviderB = require("./GetPriceFromProviderB");
var GetPriceFromProviderC = require("./GetPriceFromProviderC");
var OrderFromProviderA = require("./OrderFromProviderA");
var OrderFromProviderB = require("./OrderFromProviderB");
var OrderFromProviderC = require("./OrderFromProviderC");
module.exports = Workflow("OrderWorkflow", function() {
@geomagilles
geomagilles / example.py
Last active October 13, 2017 10:03
Python example of workflow implementation using Zenaton
class OrderWorkflow(Workflow):
def __init__(self, item, address):
self.item = item
self.address = address
def handle(self):
self.execute(PrepareOrder(self.item))
event = self.execute(Wait(OrderPreparedEvent))
self.execute(SendOrder(event.id, self.item, self.address))