A Node.js Framework for workflows on Amazon SWF
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
swf-activity
swf-decider
swf-register
swf-start
.editorconfig
.gitignore
.npmignore
LICENSE.txt
README-decision.md
README.md
diagram.png
package.json

README.md

aws-swf-toolkit

A Node.js Framework for building workflows on Amazon SWF

This toolkit provides a collection of command-line utilities to interact with the Amazon Simple Workflow (SWF) service. They form a framework for writing and running Amazon SWF activities & deciders in Javascript.

See also

swf-activity: Running Activity workers

pretty dumb, an activity is just a function call EXCEPT: does not have to send a response right away ! ( very long tasks ! )

  • config.example.js
  • package.json
  • activities run method
  • SOON: something for input/output variables schema ? (json-schema ?)

swf-deciders: Running the Workflow logic

IMPORTANT: fundamental difference with script: the decider is called many times through the workflow execution. It is STATELESS. Instead, we must inspect the event history of the workflow, and make our decisions (simplified using aws-swf decision task API)

  • package.json
  • JS description of the workflow

CLI tools to play with swf from the command line

  • swf-activity

  • swf-decider

  • swf-register

  • swf-start

  • DONE in decompose-process: add a "condition" method in step configuration

TODO

  • swf-decider: add 'helpers' methods to the sandbox (by activity) ex: if the activityType: 'mturk' as been executed it loads activities/mturk

  • Activity-Type-Configuration-Details when registering a new ActivityType ( using activityTypeOptions.json, if exists )

  • options for default workflow parameters (workflowOptions.json, if exists) => no need to set them in start_childworkflow

Documentation

Installation

$ [sudo] npm install -g aws-swf-toolkit

Overview

AWS-SWF Overview

License

MIT License