Skip to content

colstrom/kanban

Repository files navigation

kanban - Agile Workflow for Ruby

Description

Kanban provides tools to model task flow in distributed apps.

Create a Backlog

require 'redis'
require 'kanban'

backlog = Kanban::Backlog.new backend: Redis.new

Add some tasks to your shiny new Backlog

task = { 'foo' => 'bar' }
5.times { backlog.add task }

(Elsewhere) Stake a claim on a task from the backlog

task_id = backlog.claim  # Will block until there is a task, if the backlog is empty or all tasks are being worked.
details = backlog.get task_id

Mark a task as complete (or unworkable)

backlog.complete task_id
# or backlog.unworkable task_id
backlog.done? task_id  # => true

Notes

  • Claims expire after awhile (default 3 seconds), and become eligible to

be worked by something else.

License

kanban is available under the MIT License. See LICENSE.txt for the full text.

Contributors

About

Agile Workflow for Ruby Programs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages