Class: RedisOpen3
- Inherits:
-
Object
- Object
- RedisOpen3
- Defined in:
- lib/redis_open3.rb,
lib/redis_open3/enum.rb,
lib/redis_open3/error.rb,
lib/redis_open3/version.rb
Defined Under Namespace
Constant Summary collapse
- IN_KEY =
'redis_open3_in'
- OUT_KEY =
'redis_open3_out'
- ERR_KEY =
'redis_open3_err'
- VERSION =
"0.0.3"
Instance Method Summary collapse
-
#initialize(redis_pool, opts = {}) ⇒ RedisOpen3
constructor
A new instance of RedisOpen3.
- #open3 ⇒ Object
- #process3(uuids) ⇒ Object
Constructor Details
#initialize(redis_pool, opts = {}) ⇒ RedisOpen3
Returns a new instance of RedisOpen3.
9 10 11 12 |
# File 'lib/redis_open3.rb', line 9 def initialize(redis_pool, opts={}) @redis_pool = redis_pool @timeout = opts[:timeout] || 900 end |
Instance Method Details
#open3 ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/redis_open3.rb', line 14 def open3 with_enums(generated_uuids) do |redis_in, redis_out, redis_err, uuids| begin yield redis_in, redis_out, redis_err, uuids rescue Exception => e redis_in.fail raise e ensure redis_out.delete redis_err.delete end redis_in.close end end |
#process3(uuids) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/redis_open3.rb', line 29 def process3(uuids) with_enums(uuids) do |redis_in, redis_out, redis_err| begin yield redis_in, redis_out, redis_err rescue Exception => e redis_out.fail ([e.inspect] + e.backtrace).each { |row| redis_err << row } raise e ensure redis_in.delete redis_err.close end redis_out.close end end |