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 +4 -4
- data/lib/basicjrpc/client.rb +9 -6
- data/lib/basicjrpc/server.rb +0 -3
- data/lib/basicjrpc/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 203bcf05fa75bb27c94d3d9d14dd978d48645d20
|
4
|
+
data.tar.gz: 7b3411a5576e196e12c15ee4f01a35a3ccd96ef5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b3acaa696fb6e415c2ba1c7bc5e772110e0f4c60194ca4a207893b5e46f43d560a329cf5d568ec82789f59928fb179447ad8b7147f085e725e0eccf217265e8
|
7
|
+
data.tar.gz: fff9e4aff8c96ec007b4bba10630263083d693647d5eab5043e7ea2df2a320d9539c188dee485da6404427804b280cdb27ec707117a95105b3ab34958bd7c1d1
|
data/lib/basicjrpc/client.rb
CHANGED
@@ -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
|
-
|
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
|
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
|
|
data/lib/basicjrpc/server.rb
CHANGED
@@ -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
|
data/lib/basicjrpc/version.rb
CHANGED
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.
|
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
|
+
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.
|
137
|
+
rubygems_version: 2.5.1
|
138
138
|
signing_key:
|
139
139
|
specification_version: 4
|
140
140
|
summary: Basic JRPC Handler
|