Giter Club home page Giter Club logo

aws-swf-toolkit's Introduction

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

aws-swf-toolkit's People

Contributors

ericabouaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

aws-swf-toolkit's Issues

Long running workflows

First of all, thanks on a awesome library!

If there is a workflow that can run forever (potentially) with repeated activities, then the history will get filled. Is there a clean way of forking of new clone of the existing workflow (i.e. Flow style) minus the history details (although the relevant aggregated history could be a part of the new clone through input-data)?

Cannot read property 'registerDomain' of undefined

Hello Eric,

Thank you for your wonderful libs ;-)

I was testing aws-swf-toolkit, and following the getting started guide (https://github.com/neyric/aws-swf/wiki/Quickstart-Guide).

and i got :

$ npm -g install aws-swf-toolkit
$ swf-register -k domain aws-swf-test-domain
/home/pierre/.nvm/versions/node/v6.9.1/lib/node_modules/aws-swf-toolkit/swf-register/swf-register.js:234
    swfClient.client[action](params, function (err, results) {

Cannot read property 'registerDomain' of undefined #6

I feel https://github.com/neyric/aws-swf-toolkit/blob/master/swf-register/swf-register.js is not up to date with https://github.com/neyric/aws-swf .

multiple providers for activities

The idea would be to send a 'provider' in the task input.

The Activity Worker could then use different config files depending on the provider value.

(instead of single config.js file at the moment...)

Update npm package

When you have a moment, could you please update the npm package? It is still referencing aws-swf 3.0 and not 4.0 and errors out when executing: [sudo] npm install -g aws-swf-toolkit

I am very interested in using this toolkit as it does a lot of the heavy lifting for creating deciders and workers. I have been playing with aws-swf, but I think the toolkit will help speed up a lot of dev work. Thanks for your effort on this!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.