0.1.2 • Published 5 years ago
mrg.workflow v0.1.2
"Hello world" example:
require("mrg.workflow")();
class TestWorkflowBuilder{
build(id, params){
let wf = new mrg.Workflow(id, params);
wf
.createStage("first", new mrg.WorkflowActivity())
.withDoneTransition("2");
wf
.createStage("second", new mrg.WorkflowActivity())
.withDoneTransition("end");
wf.createStage("end");
return wf;
}
}
class TestRunWorkflowBuilder{
build(id, params){
let wf = new mrg.Workflow(id, params);
wf
.createStage("runTestWf", new mrg.RunWorkflowActivity("wfToRun"))
.withDoneTransition("afterWfDone");
wf
.createStage("afterWfDone", new mrg.WorkflowActivity())
.withDoneTransition("end");
wf.createStage("end");
return wf;
}
}
let wfService = new mrg.WorkflowService();
wfService.register("TestRunWorkflow", new TestRunWorkflowBuilder());
wfService.register("TestWorkflow", new TestWorkflowBuilder());
let startupData = {wfService:wfService, wfToRun:{name:"TestWorkflow", params:{x:1,y:2,z:3}}};
wfService.runWorkflow("TestRunWorkflow", startupData);
setInterval(() => wfService.update(), 1000);