A Celluloid::IO-based connection backend for the redis-rb gem, providing "evented" connection support that can multiplex long-lived blocking calls like pub/sub and blpop(rpush) with the Celluloid message protocol.
Unlike EventMachine, Celluloid::IO ideally does not need to provide separate
"Celluloid-enabled" versions of each and every library that ever does any kind
of I/O, but can instead leverage dependency injection APIs that tell libraries
Celluloid::IO::TCPSocket instead of
redis-rb gem is a bit gnarly and does a lot of strange
things like monkeypatching its own subclasses of
in attempts to add better timeout handling.
Rather than trying to inject itself into that mess, this gem provides
Redis::Connection::Celluloid which seeks to be a drop-in replacement for
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install celluloid-redis
Require it in your Ruby application with:
When instantiating the client object, specify
redis = .new(:driver => :celluloid)
- Fork this repository on github
- Make your changes and send us a pull request
- If we like them we'll merge them
- If we've accepted a patch, feel free to ask for commit access
Copyright (c) 2013 Tony Arcieri. Distributed under the MIT License. See LICENSE.txt for further details.