basicjrpc 0.1.22 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63441e02504044beac3160b3098b6d04e1d0d714
4
- data.tar.gz: 58d5a87b69db8a4b7f46156ead1aafc2ab24de4e
3
+ metadata.gz: 4f5025616b2381b62821c3fe4a2d2a843fe2835e
4
+ data.tar.gz: f03a80fd40f834d7a7599f68e4390ae2869cb261
5
5
  SHA512:
6
- metadata.gz: e1813a1011e50d6fbb6ed09dbe81cc190b28cde2f79a17fa8282a9588b2612386674712780b1d7b70471aac88ea83de2e91236d565ded91c4ed405f925977fbb
7
- data.tar.gz: 89594388c67ec881fcf1d808adea5a93ae4696eeb19b8b5bcfdee11afe922cbf30b28cb8c201d6aa308e02e5ccf553b0afb2cbdd7108d8c2254143b077f026c9
6
+ metadata.gz: c4a6b2d864f0b9499723989880b9954521c333f842e9bc5c9789d3480f66cdd3e01fe7a271a4b1158d4dd97f3dcf5dd727e43c30c8c6c27af3d67ce0cdb66ca5
7
+ data.tar.gz: 03f8a11227cf890094488191ecca52dbe6408fb4c8d5634c6133886e8f3a7ff35835ff8e7cbfae7b8ca7c0dd07f84094e3f81b69a91bca19997773f6a90a6809
data/basicjrpc.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.11"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_runtime_dependency 'redis'
24
+ spec.add_runtime_dependency 'nsq'
25
25
  spec.add_runtime_dependency 'oj'
26
26
  spec.add_runtime_dependency 'require_all'
27
27
  end
data/lib/basicjrpc.rb CHANGED
@@ -13,7 +13,7 @@ module BasicJRPC
13
13
  end
14
14
 
15
15
  def self.debug
16
- defined?(@@debug) ? @@debug : false
16
+ @@debug || false
17
17
  end
18
18
  end
19
19
  end
@@ -3,7 +3,7 @@ module BasicJRPC
3
3
  # Responding Client
4
4
  class Client
5
5
  def initialize(queue, timeout = 5)
6
- @redis = Redis.new(host: "redis")
6
+ @nsq_producer = Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: queue)
7
7
  @queue = queue
8
8
  @payload = {}
9
9
  @timeout = timeout
@@ -17,11 +17,9 @@ module BasicJRPC
17
17
  payload[:message_id] = SecureRandom.uuid
18
18
  payload[:response] = true
19
19
 
20
- @redis.rpush(@queue, Oj.dump(payload))
21
-
22
- Timeout::timeout(@timeout) {
23
- return Oj.load(@redis.blpop(payload[:message_id])[1])
24
- }
20
+ @nsq_producer.write(Oj.dump(payload))
21
+
22
+ return Oj.load(Nsq::Consumer.new(nsqlookupd: 'dockerlb:4161',topic: payload[:message_id], channel: 'client').pop)
25
23
  end
26
24
  end
27
25
 
@@ -30,7 +28,7 @@ module BasicJRPC
30
28
  def send_request payload
31
29
  payload[:message_id] = SecureRandom.uuid
32
30
  payload[:response] = true
33
- @redis.rpush(@queue, Oj.dump(payload))
31
+ @nsq_producer.write(Oj.dump(payload))
34
32
  end
35
33
  end
36
34
 
@@ -4,21 +4,20 @@ module BasicJRPC
4
4
  def initialize queue, injected_class
5
5
  @injected_class = injected_class
6
6
  @queue = queue
7
- @redis = Redis.new(host: "redis")
7
+ @nsq_consumer = Nsq::Consumer.new(nsqlookupd: 'dockerlb:4161', topic: @queue, channel: 'server')
8
8
  end
9
9
 
10
10
  def listen
11
11
  puts "Listening..."
12
12
  while true
13
- payload = @redis.blpop(@queue)[1]
14
- payload = Oj.load(payload)
15
- puts "Processing message #{payload.method_name} #{payload.method_arguments}" if BasicJRPC::Config.debug
13
+ payload = Oj.load(@nsq_consumer.pop)
14
+ puts "Processing message #{payload.method_name} #{payload.method_arguments}"
16
15
 
17
16
  # Should always return a data object
18
17
  response = @injected_class.send(payload.method_name, *payload.method_arguments)
19
-
18
+
20
19
  # Bounce the response back if response is requested
21
- @redis.rpush(payload.message_id, Oj.dump(response)) if payload.response
20
+ Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: payload.message_id).write(Oj.dump(response)) if payload.response
22
21
  end
23
22
  end
24
23
 
@@ -1,3 +1,3 @@
1
1
  module BasicJRPC
2
- VERSION = "0.1.22"
2
+ VERSION = "0.1.23"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basicjrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.22
4
+ version: 0.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Simpson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-18 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: redis
42
+ name: nsq
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="