Sha256: d76181412b64c20d6f8d47878a555284b6f9b91e37dcce3f7868e4e9f27e5776
Contents?: true
Size: 1.38 KB
Versions: 5
Compression:
Stored size: 1.38 KB
Contents
module Mack module Distributed module Utils module Rinda def self.register_or_renew(options = {}) options = handle_options(options) ::DRb.start_service begin ring_server.take([options[:space], options[:klass_def], nil, nil], options[:timeout]) rescue Exception => e # MACK_DEFAULT_LOGGER.error(e) end register(options) end def self.register(options = {}) options = handle_options(options) ::DRb.start_service ring_server.write([options[:space], options[:klass_def], options[:object], options[:description]], ::Rinda::SimpleRenewer.new) end def self.ring_server rs = ::Rinda::RingFinger.primary rs end def self.read(options = {}) options = handle_options(options) ring_server.read([options[:space], options[:klass_def], nil, options[:description]], options[:timeout])[2] end private def self.handle_options(options = {}) {:space => :name, :klass_def => nil, :object => nil, :description => nil, :timeout => app_config.mack.drb_timeout}.merge(options) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems