basicjrpc 0.1.30 → 0.1.31

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ecf40580eab4df0bba9c02d9b9bb22fdf0aa9f4
4
- data.tar.gz: bd75b10862e2348dd52386e2164e874fd340ef1a
3
+ metadata.gz: 203bcf05fa75bb27c94d3d9d14dd978d48645d20
4
+ data.tar.gz: 7b3411a5576e196e12c15ee4f01a35a3ccd96ef5
5
5
  SHA512:
6
- metadata.gz: 8c4b4f358ee15ef6d8dd622f8cb9baa1083f85bc49d98762d9275dd7c747cf1598987ac470a0e4a78dbe5bbacd7c7814a0ffa9cbab5978339020022548a66a82
7
- data.tar.gz: 1c60d9d54ff4d5af99303e43eaae5445361fa2da41c1a6e4c114434b6fc8487f9c6af9980c11c1f9b4ef773fad22861e670e90284c4c175230fdfe91c32d57c6
6
+ metadata.gz: 6b3acaa696fb6e415c2ba1c7bc5e772110e0f4c60194ca4a207893b5e46f43d560a329cf5d568ec82789f59928fb179447ad8b7147f085e725e0eccf217265e8
7
+ data.tar.gz: fff9e4aff8c96ec007b4bba10630263083d693647d5eab5043e7ea2df2a320d9539c188dee485da6404427804b280cdb27ec707117a95105b3ab34958bd7c1d1
@@ -9,6 +9,7 @@ module BasicJRPC
9
9
  @payload = {}
10
10
  @timeout = timeout
11
11
  @instance_id = SecureRandom.uuid
12
+ @nsq_producer = Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: @queue)
12
13
  end
13
14
 
14
15
  def method_missing(m, *args, &block)
@@ -16,7 +17,6 @@ module BasicJRPC
16
17
  end
17
18
 
18
19
  def send_request payload
19
- nsq_producer = Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: @queue)
20
20
 
21
21
  payload[:message_id] = SecureRandom.uuid
22
22
  payload[:instance_id] = @instance_id
@@ -24,12 +24,17 @@ module BasicJRPC
24
24
 
25
25
  my_message = false
26
26
 
27
- nsq_producer.write(Oj.dump(payload))
28
- nsq_producer.terminate
27
+ @nsq_producer.write(Oj.dump(payload))
28
+
29
29
  Timeout::timeout(5) {
30
30
  Oj.load(Redis.new(host: "redis").blpop(payload[:message_id])[1])
31
31
  }
32
32
  end
33
+
34
+ # This must be called
35
+ def terminate
36
+ nsq_producer.terminate
37
+ end
33
38
  end
34
39
 
35
40
  # Fire And Forget Client
@@ -37,9 +42,7 @@ module BasicJRPC
37
42
  def send_request payload
38
43
  payload[:message_id] = SecureRandom.uuid
39
44
  payload[:response] = true
40
- nsq_producer = Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: @queue)
41
- nsq_producer.write(Oj.dump(payload))
42
- nsq_producer.terminate
45
+ @nsq_producer.write(Oj.dump(payload))
43
46
  end
44
47
  end
45
48
 
@@ -17,9 +17,6 @@ module BasicJRPC
17
17
  # Should always return a data object
18
18
  response = @injected_class.send(payload.method_name, *payload.method_arguments)
19
19
 
20
- # Bounce the response back if response is requested
21
- #response_payload = { message_id: payload.message_id, instance_id: payload.instance_id, response: response}
22
- #Nsq::Producer.new(nsqd: 'dockerlb:4150', topic: "#{@queue}-response").write(Oj.dump(response_payload)) if payload.response
23
20
  Redis.new(host: "redis").rpush(payload.message_id, Oj.dump(response))
24
21
  message.finish
25
22
  end
@@ -1,3 +1,3 @@
1
1
  module BasicJRPC
2
- VERSION = "0.1.30"
2
+ VERSION = "0.1.31"
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.30
4
+ version: 0.1.31
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-09-11 00:00:00.000000000 Z
11
+ date: 2016-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  requirements: []
136
136
  rubyforge_project:
137
- rubygems_version: 2.4.5
137
+ rubygems_version: 2.5.1
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: Basic JRPC Handler