Sha256: 3156a6b5c2081e0d05a34692cef65ca8a18cbb6c2251908161cb8b3aea254fd9
Contents?: true
Size: 1.26 KB
Versions: 2
Compression:
Stored size: 1.26 KB
Contents
require "sneakers" require "sneakers_packer/version" require "sneakers_packer/configuration" require "sneakers_packer/message_packer" require "sneakers_packer/common_worker" require "sneakers_packer/rpc_worker" require "sneakers_packer/rpc_client" module SneakersPacker class RemoteCallTimeoutError < StandardError; end # sender message to sneaker exchange # @param name route_key for message # @param data def self.publish(name, data) message = message_packer.pack_request(data) publisher.publish message, to_queue: name end # call remote service via rabbitmq rpc # @param name route_key for service # @param data # @param options{timeout} [int] timeout. seconds. optional # @return result of service # @raise RemoteCallTimeoutError if timeout # def self.remote_call(name, data, options = {}) @client ||= RpcClient.new(publisher) message = message_packer.pack_request(data) response = @client.call name, message, options response_data, from, status = message_packer.unpack_response(response) response_data end def self.publisher @publisher ||= ::Sneakers::Publisher.new end # message_packer is a singleton object def self.message_packer @message_packer ||= MessagePacker.new(self.conf.app_name) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sneakers_packer-0.1.4 | lib/sneakers_packer.rb |
sneakers_packer-0.1.3 | lib/sneakers_packer.rb |