Sha256: fa429db10f58d21c762e112d32c51f0d218515044b2e77c21e8e016e6edef4fe
Contents?: true
Size: 1.53 KB
Versions: 9
Compression:
Stored size: 1.53 KB
Contents
module Mack module Distributed module Utils # :nodoc: module Rinda def self.register_or_renew(options = {}) options = handle_options(options) begin ring_server.take([options[:space], options[:klass_def], nil, nil], options[:timeout]) rescue Exception => e # Mack.logger.error(e) end register(options) end def self.register(options = {}) options = handle_options(options) ring_server.write([options[:space], options[:klass_def], options[:object], options[:description]], ::Rinda::SimpleRenewer.new) end def self.ring_server if configatron.mack.distributed.retrieve(:acl, nil) acl = ACL.new(configatron.mack.distributed.acl) DRb.install_acl(acl) end ::DRb.start_service 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 => nil, :klass_def => nil, :object => nil, :description => nil, :timeout => configatron.mack.distributed.timeout}.merge(options) end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems