Sha256: 34adef3a6458d0b1b3666a81a33e0c9673122a029be5891ca0b3211d0e5a551a

Contents?: true

Size: 1.93 KB

Versions: 1

Compression:

Stored size: 1.93 KB

Contents

# Jflow

JFlow is a gem that aims to let you start SWF flow activity workers for JRuby.

The official framework uses Forking and thus not compatible with the JVM. This aims to give an alternative for Jruby.

*For now this only works for Activities and not workflows*

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'jflow'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install jflow

## Usage

### Create an Activity

```ruby
Class FooActivity
  include JFlow::ActivityMixin

  activity "policy_scan.run" do
    {
      domain: "alexandria-development",
      default_task_list: {
        name: "xray_activity_tasklist"
      },
      version: "1.4",
      default_task_schedule_to_start_timeout: "600",
      default_task_schedule_to_close_timeout: "600",
      default_task_start_to_close_timeout: "600",
      default_task_heartbeat_timeout: "600"
    }
  end

  def run
    "foo"
  end
end
```

### Launch the workers

This gem provides you with a binary called jflow_worker. This binary requires a json configuration file.

```bash
jflow_worker -f worker.json
```

Example of a worker.json
```json
{
  "domain": "foodomain",
  "tasklist": "footasklist",
  "number_of_workers": 100,
  "activities_path": ["/home/pate/git/foobar/lib/flow/activities"]
}
```

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/jflow.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jflow-0.1.0 README.md