Distro

Distro is an opinionated toolchain to facilitate distributed work in ruby, simply.

Installation

Add this line to your application's Gemfile:

gem 'distro'

And then execute:

$ bundle

Or install it yourself as:

$ gem install distro

Acceptance Criteria

Distro is currently being designed as a modular library with sensible default implementations of the interfaces it presents; presently, the following is acceptance criteria:

  • isolated, replacable, modular interfaces (and default implementations) for
    • command-and-control,
    • loging,
    • queue,
    • metadata, and
    • performers;
  • absolute bare-minimum secondary runtime dependencies;
  • clear insight into:
    • what work has been done,
    • what work has failed, and
    • what work is pending;
  • concurrency-safe tools for managment to handle
    • mitigation of failed work,
    • job control,
    • performer control; and
  • tools for testing dependant application code; and
  • a clear path from a zero-dependency install to production at scale.