ruote-redis

Redis persistence for ruote (a Ruby workflow engine)

usage

The storage is instantiate by passing a redis-rb instance to the storage.

require 'redis' # gem install redis
require 'ruote' # gem install ruote
require 'ruote-redis' # gem install ruote-redis

engine = Ruote::Engine.new(
  Ruote::Worker.new(
    Ruote::Redis::Storage.new(
      ::Redis.new(:db => 14, :thread_safe => true), {})))

# ...

Passing an em-redis instance might work, but I haven’t tried.

Tested with Redis 2.0.1 (redis-rb 3.0.1) on Debian GNU/Linux. Tested with Redis 2.4.16 (redis-rb 3.0.1) on OSX snoleo.

running tests

assuming you have

ruote/
ruote-redis/

start a redis server instance (port 6379) and then

  • unit tests :

get into ruote/ and do

RUOTE_STORAGE=redis ruby test/functional/storage.rb
  • functional tests :

get into ruote/ and do

RUOTE_STORAGE=redis ruby test/functional/test.rb

license

MIT

feedback

mailing list : groups.google.com/group/openwferu-users irc : irc.freenode.net #ruote

many thanks to

  • the Redis authors and the redis-rb authors