Giter Site home page Giter Site logo

transformersprimeabcxyz / amazon.simpleworkflow.extensions-fsprojects Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fsprojects/amazon.simpleworkflow.extensions

0.0 2.0 0.0 3.07 MB

Extensions to AmazonSDK's SimpleWorkflow capabilities to make it more intuitive to use

Home Page: http://fsprojects.github.io/Amazon.SimpleWorkflow.Extensions

License: MIT License

C# 14.45% F# 85.16% Batchfile 0.26% Shell 0.13%

amazon.simpleworkflow.extensions-fsprojects's Introduction

Issue Stats Issue Stats

Amazon.SimpleWorkflow.Extensions

Extensions to AmazonSDK's SimpleWorkflow capabilities to make it more intuitive to use for .Net developers.

Maintainer(s)

The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)

Amazon SWF

Amazon's Simple Workflow (SWF) service provides a scalable platform for automating processes, or workflows in your application. It centers around the concept of tasks. Each task will fall into one of two categories:

  • Activity task - for doing actual work, e.g. processing an order, taking data from one location to another
  • Decision task - for deciding what's the next step in the workflow given its current state

Tasks are distributed to 'workers' with polling, and like Simple Queuing Service (SQS), each task can be received by one worker at a time and the worker has certain amount of time to complete the task and responds with a completion message or the task will be timed out (and can be retried up to some configured number of times). For long running activity tasks, the worker might also need to record periodic heartbeats, or the task might be marked as failed or timed out.

Every step of a workflow execution is recorded in SWF and you can retrieve the full history of events that had occurred during a workflow either programmatically or via the Amazon Management Console.

You can also easily terminate or rerun a workflow with a few button clicks in the Amazon Management Console, should you choose to.

Project Goal

The standard Amazon SDK provides a AWS Flow Framework, but it's only available for Java.

The facilities provided by the .Net SDK is a straight mapping to the actions available on the SWF service. Using these actions alone, it's cumbersome to build any sort of useful process out of SWF because you need to take care of a lot of plumbing yourself, including:

  • handle task polling
  • handle exceptions (and retries) when polling tasks
  • differentiate different types of tasks
  • record heartbeats periodically
  • respond completed message on successful completion
  • respond failed message on exceptions during processing of a task
  • ...

The goal of this project is to provide a framework that allows you to design and implement a workflow using SWF with as little friction in the development process as possible.

Example usages

Check out the Wiki page for a list of examples.

I also have a series of introductory posts on how to use the library to model workflows:

Nuget

Download and install using NuGet. NuGet Status

NuGet package

You can view the full release notes here.

Keep in touch

Please follow the official twitter account @swf_extensions for updates, and feel free to send me any feedbacks or questions you have about the project.

amazon.simpleworkflow.extensions-fsprojects's People

Contributors

bitdeli-chef avatar fsprojectsgit avatar sergey-tihon avatar theburningmonk avatar

Watchers

 avatar  avatar

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.