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.newAdd 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_idMark a task as complete (or unworkable)
backlog.complete task_id
# or backlog.unworkable task_id
backlog.done? task_id # => trueNotes
- 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.