toaster / ntswf

Not That Simple Workflow - A layer around AWS SWF

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NTSWF

Not That Simple Workflow - A layer around AWS SWF

Common denominator of our infopark internal services using AWS Simple Workflow.

Gem Version Code Climate Dependency Status Build Status

Usage

Gemfile

gem 'ntswf', '~> 2.0'

Client

config = {domain: 'my_domain', unit: 'my_app'} # ...
Ntswf.create(:client, config).start_execution(
  execution_id: 'my_singleton_task',
  name: 'my_worker_name',
  params: {my_param: :param},
  unit: 'my_worker',
)

See {Ntswf::Base#configure} for configuration options.

Decision worker

config = {domain: 'my_domain', unit: 'my_app'} # ...
Ntswf.create(:decision_worker, config).process_decisions

Activity worker

config = {domain: 'my_domain', unit: 'my_worker'} # ...
worker = Ntswf.create(:activity_worker, config)
worker.on_task ->(task) { Ntswf.result task.params['my_param'] }
worker.process_activities

Setup helpers

See {Ntswf::Utils}

License

LGPL-3.0

About

Not That Simple Workflow - A layer around AWS SWF

License:GNU Lesser General Public License v3.0


Languages

Language:Ruby 100.0%