Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Repository files navigation

swfer

Making swf simpler

Template - Decider

constDecider=require('swfer').Decider;constdecider=newDecider(process.env.SWF_DOMAIN,process.env.SWF_TASKLIST);decider.on('WorkflowExecutionStarted',(decisionTask,event)=>{// on workflow start (either by api or by script)console.log('Workflow Started',event);letattributes=event.getAttributes();letactivity={name: '{FIRST_TASK}',version: '1.0.0'};// start first taskdecider.scheduleActivityTask(activity,'{FIRST_TASKLIST}',attributes.input,decisionTask.taskToken);});decider.on('ActivityTaskFailed',(decisionTask,event)=>{// an individual activity task has failedconsole.log('ActivityTaskFailed',event);// stop workflowlet{reason, details}=event.getAttributes();decider.failWorkflowExecution(reason,details,decisionTask.taskToken);});decider.on('ActivityTaskCompleted',(decisionTask,event)=>{// an individual activity task has completedconsole.log('ActivityTaskCompleted',event);letattributes=event.getAttributes();if(event.isActivity({name: 'next',version: '1.0.0'})){// complete the workflowdecider.completeWorkflowExecution("done",decisionTask.taskToken);}else{letactivity={name: '{NEXT_TASK}',version: '1.0.0'};// start next taskdecider.scheduleActivityTask(activity,'{NEXT_TASKLIST}',attributes.result,decisionTask.taskToken);}});// start listenerdecider.start();

Template - Activity

constActivity=require('swfer').Activity;constactivity=newActivity(process.env.SWF_DOMAIN,process.env.SWF_TASKLIST);activity.on('ActivityTask',activityTask=>{// new activity task is assignedletinput=JSON.parse(activityTask.input);/* do task *//* ... */letresult=JSON.stringify({/* RESULT */});// complete taskactivity.complete(result,activityTask.taskToken);//activity.fail(name, details, activityTask.taskToken);});// start listeneractivity.start();

About

Making swf simpler

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages